Lier une requete SQL avec une valeur d'une TextBox sous Access2000

Chris_LaFouine Messages postés 109 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 4 juin 2008 - 13 juil. 2005 à 11:15
Chris_LaFouine Messages postés 109 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 4 juin 2008 - 13 juil. 2005 à 12:25
J'ai un sous formulaire qui a comme source une requete SQL du type :

SELECT NoClient, NomClient, machin, truc...

FROM Client

WHERE NomClient In ([Formulaire]![frm_Client]![txtListeClients])



Le probleme c'est que ça fonctionne pas.

NomClient est de type Texte (50).



Dans l'éditeur de requetes, je tapes :

SELECT NoClient, NomClient, machin, truc...


FROM Client


WHERE NomClient In ("poulet","Velo")



et ça fonctionne super bien (en QBE, faut mettre un ';' à la place de
',')... par contre, dans ma TextBox 'txtLàisteClients', il y a la liste
des NomClients c'est à dire qu'il contient ceci :

"poulet","Velo"

Ça ne marche pas ni ce qui suit d'ailleurs :

"poulet";"Velo"

'poulet','Velo'

'poulet';'Velo'



Une idée???

2 réponses

philippe laschweng 1 Messages postés 278 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 13 avril 2013 2
13 juil. 2005 à 12:09
Normalement sous VB quand tu crée ta requette SQL en String, il faut que tes valeurs soient entourées de '
exemple
"('" & TextBox1.text & "','" & textbox2.Text & "')
C'est pas très lisible pour faire la distinction entre les " et les '.
Faut bien faire gaffe à la syntaxe !!!!!
0
Chris_LaFouine Messages postés 109 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 4 juin 2008
13 juil. 2005 à 12:25
La requete n'est pas gérée par le code mais elle est par défaut en "Source" du sous-formulaire.
Car je mets à jour se formulaire dès que je clique sur le (ou les) nom(s) qui se trouvent dans une liste... ça me permet d'avoir les détails des Clients sur lesquels je clique. Et en fait, mon txtListeClient me permet de faire formater la liste des clients pour que la requete s'exécute.

Grace à cette solution, j'ai juste à faire un frm_Client.requery pour mettre à jour les données.

Sinon, y a une solution, c'est de refaire le rowsource à chaque clic... mais fiou... ça prends plus de temps, non?
0