Bonjour tout le monde,
Je vous présente ma BDD:
avec les champs "test" et "test2" booleéns et le champ "idAdo" de type nombre incrémentiel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3"TableTest" idAdo | test | test2
J'ai un formulaire avec une listbox "lstPublic" alimentée par une table:
avec le champ "Liste" de type texte contenant les entrées "test" et "test2".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5"TableListe" Liste test test2
Lorsque je clique sur un élément de la listbox (qui contient donc "test" et "test2"), je lance ce code:
En fonction de l'élément de la listbox sur lequel je clique, une entrée apparait dans ma TableTest avec sous un champ la valeur "VRAI" (une case cochée en réalité): jusque là, pas de soucis particulier...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 For i = 0 To Me.lstPublic.ListCount - 1 If Me.lstPublic.Selected(i) Then CurrentDb.Execute ("INSERT INTO TableTest (""" & Me.lstPublic.ItemData(i) & """) VALUES (TRUE)") End If Next
Par contre, si je veux ajouter une clause "WHERE" dans ma requête, cela ne fonctionne plus.
Je voudrais qu'un champ de TableTest (soit "test" soit "test2") se mette en "VRAI" à l'endroit ou mon "idAdo" est égal à la valeur du champ "id" de mon formulaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 For i = 0 To Me.lstPublic.ListCount - 1 If Me.lstPublic.Selected(i) Then CurrentDb.Execute ("INSERT INTO TableTest (""" & Me.lstPublic.ItemData(i) & """) VALUES (TRUE) WHERE idAdo = " & Me.id.Value & " ") End If Next
L'erreur est la suivante:
Point-Virgule absent à la fin de la requête SQL
Mais même si je rajoute ce point-virgule, l'erreur persiste...
Quelqu'un aurait il une idée ?
J'espère avoir été assez clair sur mon problème et avoir donné assez de détails.
Merci d'avance à tout ceux qui se pencheront sur mon problème.
Partager