Pbm de requete SQL avec ado

Signaler
Messages postés
9
Date d'inscription
vendredi 4 octobre 2002
Statut
Membre
Dernière intervention
28 octobre 2002
-
Messages postés
562
Date d'inscription
dimanche 16 décembre 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
-
bonjour,
je debute en VB, voila mon pb:
je veux recuperer une valeur selectionner dans une combo box et si cette valeur est egale a une entree de la table alors ecrire ds la listbox une valeur de cette table:
exemple:selectionne un nom de société de la combobox,si cette societe a une commande ds la table commande ecrire le numero de commande ds la listbox.
ds mon code c un test si la valeur de la combobox = une entree ds la table client alors m'afficher le code client.
merci de votre aide
Dim cnxado As ADODB.Connection
Dim rsADO, rsado2 As ADODB.Recordset
Dim cmdADO As ADODB.Command
Dim temp As String
Set cnxado = New ADODB.Connection
cnxado.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Microsoft Visual Studio\VB98\nwind.mdb;Persist Security Info=False"
cnxado.Open
Set cmdADO = New ADODB.Command
cmdADO.CommandType = adCmdText            cmdADO.CommandText "select * FROM clients WHERE [societe] " & Combo1.Text & ""
  cmdADO.ActiveConnection = cnxado
Set rsADO = cmdADO.Execute
 rsADO.MoveFirst
Do Until rsADO.EOF 
List1.AddItem rsADO![code client]
loop
rsADO.Close
cnxado.Close

4 réponses

Messages postés
562
Date d'inscription
dimanche 16 décembre 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
1
a première vue il y a un pb dans ta requete sql :
"select * FROM clients WHERE [societe] " & Combo1.Text & ""

en sql pour chercher une chaine de caractère il faut encadrer cette chaine par des '
ta requete devient :

"select * FROM clients WHERE [societe] <'>" & Combo1.Text & "<'>"
(supprime les inférieur supérieur ils sont juste là pour te montrer l'apostrophe.)
autrement dit sans les <> (tu devras avoir exactement ça)
"select * FROM clients WHERE [societe] '" & Combo1.Text & "'"
voilà @+
0
Messages postés
9
Date d'inscription
vendredi 4 octobre 2002
Statut
Membre
Dernière intervention
28 octobre 2002

merci ca marche maintenant par contre y a un pbm si la chaine de caractere contien un '
0
Messages postés
182
Date d'inscription
dimanche 18 août 2002
Statut
Membre
Dernière intervention
5 janvier 2004
3
tu remplaces le ' par le chr() correspondant (scuse je sais pas par coeur, c'est autour de 40) avec des & avant et après.
0
Messages postés
562
Date d'inscription
dimanche 16 décembre 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
1
tu n'as qu'a rechercher les ' dans tes champs et les doubler pour ne pas avoir de problème.
@+
0