Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

problème de déclaration.

6 réponses
Avatar
bonneau.loic
bonjour,

sous access 2003
j'ai une erreur lors de la compilation de mon code "Menbre de methode
ou de donn=E9es introuvable"

voici mon code.
Dim r, t As Recordset
Set db =3D CurrentDb()
Set r =3D db.OpenRecordset("table1")
Set t =3D db.OpenRecordset("table2")

r.movefirst
t.addnew
t.champs1=3Dr.champs1
t.update

Mais ci j'ajout un dim a as recordset je n'ai plus d'erreur.

Je voudrais savoir si il y a un moyen d'=E9vit=E9 une d=E9claration d'une
varriable supplaimentaire.

Merci.

6 réponses

Avatar
papou
Bonjour
Tu dois spécifier chaque variable, sinon elle devient Variant.
Donc Dim r, t As Recordset doit devenir :
Dim r As Recordset, Dim t As Recordset.

Cordialement
Pascal

a écrit dans le message de news:

bonjour,

sous access 2003
j'ai une erreur lors de la compilation de mon code "Menbre de methode
ou de données introuvable"

voici mon code.
Dim r, t As Recordset
Set db = CurrentDb()
Set r = db.OpenRecordset("table1")
Set t = db.OpenRecordset("table2")

r.movefirst
t.addnew
t.champs1=r.champs1
t.update

Mais ci j'ajout un dim a as recordset je n'ai plus d'erreur.

Je voudrais savoir si il y a un moyen d'évité une déclaration d'une
varriable supplaimentaire.

Merci.
Avatar
papou
Pff, en plus j'ai fait une erreur, donc excuse-moi, il faut rectifier bien
sûr :
Dim r As Recordset, t As Recordset

Cordialement
Pascal

"papou" a écrit dans le message
de news: uP6$
Bonjour
Tu dois spécifier chaque variable, sinon elle devient Variant.
Donc Dim r, t As Recordset doit devenir :
Dim r As Recordset, Dim t As Recordset.

Cordialement
Pascal

a écrit dans le message de news:

bonjour,

sous access 2003
j'ai une erreur lors de la compilation de mon code "Menbre de methode
ou de données introuvable"

voici mon code.
Dim r, t As Recordset
Set db = CurrentDb()
Set r = db.OpenRecordset("table1")
Set t = db.OpenRecordset("table2")

r.movefirst
t.addnew
t.champs1=r.champs1
t.update

Mais ci j'ajout un dim a as recordset je n'ai plus d'erreur.

Je voudrais savoir si il y a un moyen d'évité une déclaration d'une
varriable supplaimentaire.

Merci.



Avatar
bonneau.loic
On 2 oct, 15:54, "papou"
wrote:
Pff, en plus j'ai fait une erreur, donc excuse-moi, il faut rectifier bie n
sûr :
Dim r As Recordset, t As Recordset

Cordialement
Pascal

"papou" a écrit dans le mes sage
denews: uP6$0eIJJHA.5__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$z__ @TK2MSFTNGP05.phx.gbl...



> Bonjour
> Tu dois spécifier chaque variable, sinon elle devient Variant.
> Donc Dim r, t As Recordset doit devenir :
> Dim r As Recordset, Dim t As Recordset.

> Cordialement
> Pascal

> a écrit dans le message de news:
>
> bonjour,

> sous access 2003
> j'ai une erreur lors de la compilation de mon code "Menbre de methode
> ou de données introuvable"

> voici mon code.
> Dim r, t As Recordset
> Set db = CurrentDb()
> Set r = db.OpenRecordset("table1")
> Set t = db.OpenRecordset("table2")

> r.movefirst
> t.addnew
> t.champs1=r.champs1
> t.update

> Mais ci j'ajout un dim a as recordset je n'ai plus d'erreur.

> Je voudrais savoir si il y a un moyen d'évité une déclaration d'u ne
> varriable supplaimentaire.

> Merci.- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bonjour,

que je fasse
dim t, r as recordset
ou
dim t as recordset, r as recordset
ou
dim t as recordset
dim r as recordset

J'ai toujours le même message d'erreur.

Merci
Avatar
3stone
Salut,

a écrit

> voici mon code.
> Dim r, t As Recordset
> Set db = CurrentDb()
> Set r = db.OpenRecordset("table1")
> Set t = db.OpenRecordset("table2")

> r.movefirst
> t.addnew
> t.champs1=r.champs1
> t.update





Dim db as DAO.database
Dim r as DAO.Recordset, t as DAO.Recordset

Set db = CurrentDb
Set r = db.OpenRecordset("t1")
Set t = db.OpenRecordset("t2")




r.MoveFirst
'inutile car déjà sur le premier
'par contre tu auras une erreur si recordset vide !
'il faut donc tester cela par
'
' if Not r.eof Then


t.AddNew
'ok


t!Champs1 = r!Champ1
'utiliser le point d'exclamation pour les champs

etc...
Ceci dit, une simple requête ajout devrais résoudre le tout plus élégamment.
;-)

| que je fasse
| dim t, r as recordset
|
| ou
| dim t as recordset, r as recordset
| ou
| dim t as recordset
| dim r as recordset
|
| J'ai toujours le même message d'erreur.

Oui, mais le premier est définitivement faux !

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
bonneau.loic
On 2 oct, 19:04, "3stone" wrote:
Salut,

a écrit



> > voici mon code.
> > Dim r, t As Recordset
> > Set db = CurrentDb()
> > Set r = db.OpenRecordset("table1")
> > Set t = db.OpenRecordset("table2")

> > r.movefirst
> > t.addnew
> > t.champs1=r.champs1
> > t.update

Dim db as DAO.database
Dim r as DAO.Recordset, t as DAO.Recordset

Set db = CurrentDb
Set r = db.OpenRecordset("t1")
Set t = db.OpenRecordset("t2")

r.MoveFirst
        'inutile car déjà sur le premier
        'par contre tu auras une erreur si recordset vide !
        'il faut donc tester cela par
        '
        '  if Not r.eof Then

t.AddNew
        'ok

t!Champs1 = r!Champ1
        'utiliser le point d'exclamation pour les champs

etc...
Ceci dit, une simple requête ajout devrais résoudre le tout plus él égamment.
 ;-)

| que je fasse
|     dim t, r as recordset
|
| ou
|     dim t as recordset, r as recordset
| ou
|     dim t as recordset
|     dim r as recordset
|
| J'ai toujours le même message d'erreur.

Oui, mais le premier est définitivement faux !

--
A+
Pierre (3stone) Access MVP
Perso:http://www.3stone.be/
MPFA:http://www.mpfa.info/ (infos générales)



merci pour ta réppnce
mon problème venait de t.Champs1 = r.Champ1 qui faut que je passe
en t!Champs1 = r!Champ1

(Une requette n'aurait pas était plus simple ceci est pas 1/20 du code
que j'utilise.)
Pour information je ne voit pas pourquoi il ne faut pas utiliser dim
r,t as recordset, ça fonctionne bien, et on utilise bien dim texte1,
texte2, texte3 as string.
Merci à tous
Avatar
3stone
Salut,

a écrit :
[...]
| (Une requette n'aurait pas était plus simple ceci est pas 1/20 du code
| que j'utilise.)


S'il est de la même veine...


| Pour information je ne voit pas pourquoi il ne faut pas utiliser dim
| r,t as recordset, ça fonctionne bien, et on utilise bien dim texte1,
| texte2, texte3 as string.


Pour TON information...
Ta déclaration est mauvaise !

et on n'utilise PAS non plus :

Dim texte1, texte2, texte3 As String

Et puisque tu prétends ne pas suivre les conseils et remarques qui
te sont faites, donne toi la peine de lire la doc, on y explique
entre autre comment faire une déclaration correcte dans le VBA.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)