Requetes sql

Résolu
penchu Messages postés 167 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 janvier 2006 - 10 févr. 2005 à 11:49
penchu Messages postés 167 Date d'inscription mercredi 11 février 2004 Statut Membre Derniè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).

je crois que le problème vient de mes requetes.

qqn sait m'aider?

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
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)
3
penchu Messages postés 167 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 janvier 2006
10 févr. 2005 à 13:25
alors la je te dois une fière chandelle.

Un grand MERCI à toi
0
Rejoignez-nous