recordsetclone ???

Le
Guy du Lac
Bonjour à tous.

J'ai copié le recordset dans r2. Je voudrais faire un update dans la table
"charte de compte" à partir d'information se retrouvant dans l'objet r2.
Quand je lance l'évènement, r2.qty et r2.charte ne sont pas reconnu. Voici
mon code


Dim REQ1, REQ2, REQ3
Dim r2 As Object
Set r2 = Me.RecordsetClone
r2.MoveFirst

Do While Not r2.EOF

REQ1 = "UPDATE [charte de compte] SET [charte de compte].INVENTAIRE
= [charte de compte]![INVENTAIRE]-r2.QTY "
REQ2 = "WHERE ((([charte de compte].ID)=r2.CHARTE));"
REQ3 = REQ1 + REQ2
DoCmd.RunSQL REQ3



r2.MoveNext

Loop

--
Merci,
Guy du Lac
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Sylvain Lafontaine
Le #6321901
Écrire quelque chose comme r2.CHARTE dans une commande sql n'a aucune
signification lorsque exécuté par la commande DoCmd.RunSQL. Cette commande
s'applique sur les tables et non pas sur les recordsets.

Cependant, si r2.Charte est une valeur unique - c'est-à-dire que le
recordset ne contient qu'une seule ligne ou que vous n'êtes intéressé que
par la ligne courante - alors vous pouvez écrire quelque chose comme:

REQ2 = "WHERE ((([charte de compte].ID)=" & r2.CHARTE & "));"

Évidemment, vous devez faire la même chose pour REQ1 et si r2.Charte est une
valeur alphanumérique, vous ne devez pas oublier de la délimiter par des
apostrophes.

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: sylvain aei ca (fill the blanks, no spam please)


"Guy du Lac" news:
Bonjour à tous.

J'ai copié le recordset dans r2. Je voudrais faire un update dans la table
"charte de compte" à partir d'information se retrouvant dans l'objet r2.
Quand je lance l'évènement, r2.qty et r2.charte ne sont pas reconnu.
Voici
mon code


Dim REQ1, REQ2, REQ3
Dim r2 As Object
Set r2 = Me.RecordsetClone
r2.MoveFirst

Do While Not r2.EOF

REQ1 = "UPDATE [charte de compte] SET [charte de compte].INVENTAIRE
= [charte de compte]![INVENTAIRE]-r2.QTY "
REQ2 = "WHERE ((([charte de compte].ID)=r2.CHARTE));"
REQ3 = REQ1 + REQ2
DoCmd.RunSQL REQ3



r2.MoveNext

Loop

--
Merci,
Guy du Lac


Publicité
Poster une réponse
Anonyme