penchu
Messages postés167Date d'inscriptionmercredi 11 février 2004StatutMembreDernière intervention 5 janvier 2006
-
10 févr. 2005 à 11:49
penchu
Messages postés167Date d'inscriptionmercredi 11 février 2004StatutMembreDernière intervention 5 janvier 2006
-
10 févr. 2005 à 13:25
bonjour à tous,
voila, dans un de mes prog, j'ai une datagrid, une combo qui contient
les colonnes de la datagrid, et une textbox, et un bouton rechercher
en fait, je fais des requetes pour afficher dans la datagrid les
informations que j'aurais choisi dans la combo et entré dans la textbox.
voici le code de mon bouton rechercher :
Dim choix As Byte
Dim requete, table As String
'Récupère le numéro de la ligne cliquée dans la liste
choix = ComboBox1.SelectedIndex
Select Case choix
Case 0
'Sélection sur le numéro
requete = "SELECT * FROM pieces WHERE Num LIKE " &
"'textBoxrecherche.Text';"
table = "pieces"
connecter_recherche(requete, table)
Case 1
'Sélection sur la machine
requete = "SELECT * FROM pieces WHERE Machine LIKE " &
"'TextBoxrecherche.Text'" & ";"
table = "pieces"
connecter_recherche(requete, table)
Case 2
'Sélection sur le champ OM
requete = "SELECT * FROM pieces WHERE OM LIKE " &
"'TextBoxrecherche.Text'" & ";"
table = "pieces"
connecter_recherche(requete, table)
End Select
ma fonction connecter_recherche(requete,table) permet de remplir ma datagrid en fonction de ce qu'on a entré.
mon prolbème c'est que rien ne s'affiche dans ma datagrid (qui est
remplie avec tous les champs de ma db au chargement da ma form). En
gros, la datagrid se vide (pas la db).
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 10 févr. 2005 à 12:11
Salut
Ta structure de requète pose problème :
"SELECT * FROM pieces WHERE Num LIKE " & "'textBoxrecherche.Text';"
On suppose que les champs sont de type chaine. Si elles sont de type numérique, pas de ' pour les champs et pas de LIKE possible.
Le symbole ' n'est pas à la bonne place (je me demande d'ailleurs comment ton éditeur VB l'accepte) : Corrige :
"SELECT * FROM pieces WHERE Num LIKE '" & textBoxrecherche.Text & "';"
De plus, quand tu utilises un LIKE, c'est pour chercher des champs qui peuvent ressembler à ta recherche : donc, il faut mettre des % devant et derrière le texte recherché (% en SQL est équivalent à * sous windows):
"SELECT * FROM pieces WHERE Num LIKE '%" & textBoxrecherche.Text & "%';"
Et enfin, les recherches avec LIKE se font en tenant compte des min/maj : Si tu veux pouvoir ne pas en tenir compte :
"SELECT * FROM pieces WHERE Upper(Num) LIKE '%" & UCase(textBoxrecherche.Text) & "%';"
Vala
Jack
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)