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

Maj valeur dans table par VBA

2 réponses
Avatar
Georges
Bonjour,

je ne parviens pas à mettre à jour une valeur dans une table à partir d'un
contrôle indépendant par VBA.

Un contrôle indépendant est dans un formulaire. Aprés mise à jour du
contrôle, je souhaite inscrire la valeur dans le champ d'une table. J'ai
essayé les deux méthodes suivantes mais cela bloque. Voici mon code :

Private Sub Chemin_Exit(Cancel As Integer)
Dim MyDB As Database, MyTable As TableDef
Dim MyQuery As QueryDef, MyRecordset As Recordset
Set MyDB = CurrentDb()
Change = Me!Chemin (j'ai essayé de récupérer a valeur dans une variable
mais le résultat est le même).

Solution 1 :
Set MyQuery = MyDB.CreateQueryDef("", "UPDATE Variables SET
Variables.[Txt] =" & Me!Chemin & " WHERE
(((Variables.Variable)='CheminIJ'));")
MyQuery.Execute

Solution 2 :
DoCmd.RunSQL "UPDATE Variables SET Variables.Txt =" & Me.[Chemin] &
" where Variables.Variable ='CheminIJ' & ";"

ou DoCmd.RunSQL "UPDATE Variables SET Variables.[Txt] =" & Me!Chemin & "
WHERE (((Variables.Variable)='CheminIJ'));"

End Sub

Aucune des solutions ne fonctionne. Il y a probablement une erreur de
syntaxe mais je ne sais pas laquelle.

Merci de votre aide.

2 réponses

Avatar
Gilbert
Bonjour,

Si ton champ est de type texte, essaie avec
DoCmd.RunSQL "UPDATE Variables SET Variables.Txt =""" & Me.[Chemin] & """
where Variables.Variable ='CheminIJ';"


--
Cordialement,

Gilbert


"Georges" a écrit dans le message de
news:
Bonjour,

je ne parviens pas à mettre à jour une valeur dans une table à partir d'un
contrôle indépendant par VBA.

Un contrôle indépendant est dans un formulaire. Aprés mise à jour du
contrôle, je souhaite inscrire la valeur dans le champ d'une table. J'ai
essayé les deux méthodes suivantes mais cela bloque. Voici mon code :

Private Sub Chemin_Exit(Cancel As Integer)
Dim MyDB As Database, MyTable As TableDef
Dim MyQuery As QueryDef, MyRecordset As Recordset
Set MyDB = CurrentDb()
Change = Me!Chemin (j'ai essayé de récupérer a valeur dans une
variable

mais le résultat est le même).

Solution 1 :
Set MyQuery = MyDB.CreateQueryDef("", "UPDATE Variables SET
Variables.[Txt] =" & Me!Chemin & " WHERE
(((Variables.Variable)='CheminIJ'));")
MyQuery.Execute

Solution 2 :
DoCmd.RunSQL "UPDATE Variables SET Variables.Txt =" & Me.[Chemin]
&

" where Variables.Variable ='CheminIJ' & ";"

ou DoCmd.RunSQL "UPDATE Variables SET Variables.[Txt] =" & Me!Chemin &
"

WHERE (((Variables.Variable)='CheminIJ'));"

End Sub

Aucune des solutions ne fonctionne. Il y a probablement une erreur de
syntaxe mais je ne sais pas laquelle.

Merci de votre aide.



Avatar
Georges
Bonjour,

dans le mille !!!

Merci :-)



Bonjour,

Si ton champ est de type texte, essaie avec
DoCmd.RunSQL "UPDATE Variables SET Variables.Txt =""" & Me.[Chemin] & """
where Variables.Variable ='CheminIJ';"


--
Cordialement,

Gilbert


"Georges" a écrit dans le message de
news:
Bonjour,

je ne parviens pas à mettre à jour une valeur dans une table à partir d'un
contrôle indépendant par VBA.

Un contrôle indépendant est dans un formulaire. Aprés mise à jour du
contrôle, je souhaite inscrire la valeur dans le champ d'une table. J'ai
essayé les deux méthodes suivantes mais cela bloque. Voici mon code :

Private Sub Chemin_Exit(Cancel As Integer)
Dim MyDB As Database, MyTable As TableDef
Dim MyQuery As QueryDef, MyRecordset As Recordset
Set MyDB = CurrentDb()
Change = Me!Chemin (j'ai essayé de récupérer a valeur dans une
variable

mais le résultat est le même).

Solution 1 :
Set MyQuery = MyDB.CreateQueryDef("", "UPDATE Variables SET
Variables.[Txt] =" & Me!Chemin & " WHERE
(((Variables.Variable)='CheminIJ'));")
MyQuery.Execute

Solution 2 :
DoCmd.RunSQL "UPDATE Variables SET Variables.Txt =" & Me.[Chemin]
&

" where Variables.Variable ='CheminIJ' & ";"

ou DoCmd.RunSQL "UPDATE Variables SET Variables.[Txt] =" & Me!Chemin &
"

WHERE (((Variables.Variable)='CheminIJ'));"

End Sub

Aucune des solutions ne fonctionne. Il y a probablement une erreur de
syntaxe mais je ne sais pas laquelle.

Merci de votre aide.