Requete SQL dans VBA Access

Fermé
Pioup - 2 juil. 2010 à 10:40
lys44 Messages postés 57 Date d'inscription mardi 25 mai 2010 Statut Membre Dernière intervention 21 mars 2011 - 5 juil. 2010 à 11:43
Bonjour,


J'ai un petit soucis avec une requête SQL (je suis débutant là dedans, je faisais tout par assistant, mais je souhaite maitriser d'avantage ce langage) que je veux lancer dans un code VBA d'un bouton d'un formulaire Access.

Donc en gros, je veux mettre à jour un champ d'une table en fonction de ce qui a été écrit dans une zone de texte.

Il me semble que ma requête est exacte, mais c'est la syntaxe pour l'éxécuter dans Access qui m'est totalement inconnue, j'ai "bidouillé" en faisant des recherches sur Internet mais cela ne fonctionne pas. (j'ai enlevé les trucs qui ne sont pas lié à mon problème dans le code suivant)

[...]
Statut = Me.ZT_Statut
ID = Me.ZT_ID
requete = "UPDATE [Demande d'Intervention] SET [Statut_Intervention] = Statut WHERE ID_Intervention = ID"
DoCmd.RunSQL requete


Donc voila, j'espère que quelqu'un pourra m'aider !
Merci d'avance.

A+
Pioup

3 réponses

lys44 Messages postés 57 Date d'inscription mardi 25 mai 2010 Statut Membre Dernière intervention 21 mars 2011 5
5 juil. 2010 à 09:42
requete = "UPDATE [Demande d'Intervention] SET [Statut_Intervention] = '" & Statut & "' WHERE ID_Intervention = " & ID

Si c'est un chaîne de caractère il te faut mettre ' puis " avant le & et de même pour enquoter après ton deuxième &. " puis '.
1
Ca fonctionne, merci beaucoup !
0
lys44 Messages postés 57 Date d'inscription mardi 25 mai 2010 Statut Membre Dernière intervention 21 mars 2011 5
5 juil. 2010 à 11:11
De rien ;)

Ce sont des petites erreurs qui nous pourrissent bien la vie ^^

Donc penser:
Var string, enquotement '" & blabla & "'
var integer, enquotement " & blabla & "
0
lys44 Messages postés 57 Date d'inscription mardi 25 mai 2010 Statut Membre Dernière intervention 21 mars 2011 5
5 juil. 2010 à 11:43
Marque le sujet comme résolu du coup ;)
0
Yoskopolite Messages postés 83 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 9 novembre 2012 8
Modifié par Yoskopolite le 2/07/2010 à 11:48
Pense que la requête que tu construit est une chaine de caractère. Du coup, pour afficher la valeur de tes variables dans la requête, il faut faire de la concaténation de chaine.

Ceci devrait suffire :
requete = "UPDATE [Demande d'Intervention] SET [Statut_Intervention] = " & Statut & " WHERE ID_Intervention = " & ID


Cette méthode fonctionne que la variable soit de type numérique ou chaine de caractère.
0
Salut,

Merci pour ta réponse !

En revanche, j'ai un problème en utilisant ta synthaxe et je ne sais pas d'où cela vient.

J'ai une "erreur de synthaxe (opérateur absent) dans l'expression "En Cours" ", sachant que "En cours" est la valeur de la variable statut dans ce cas.

Quelqu'un sait d'où vient le probleme ?

A+
Pioup
0