Exécuter une requête lors de l'écriture dans une combobox

sistaroro Messages postés 16 Date d'inscription samedi 7 avril 2007 Statut Membre Dernière intervention 19 mars 2009 - 26 févr. 2008 à 15:35
sistaroro Messages postés 16 Date d'inscription samedi 7 avril 2007 Statut Membre Dernière intervention 19 mars 2009 - 26 févr. 2008 à 21:00
Bonjour, j'ai un petit souci!
En fait j'ai une combobox qui contient le nom de personnes qui sont dans ma base de données.
J'arrive a charger le nom de toutes ces personnes de facon dynamique avec la base de données Access. Mais je veux qu'en tapant les premières lettres, elle affiche seulement les noms des personnes commencant par ces lettres.

Voici le code qui affiche tous les noms dans la combobox


'Vider la liste'



listenom.Items.Clear()







'Déclaration de la connexion à la base de données'






Dim
MaConnexion

As
OleDbConnection =

New
OleDbConnection(

"Provider=Microsoft.Jet.OLEDB.4.0;Data source=librairie.mdb"
)


'Déclaration de la variable commande qui va contenir la requête'






Dim
Macommande

As
OleDbCommand = MaConnexion.CreateCommand()


'Commande avec la requete'

Macommande.CommandText =




"SELECT DISTINCT nom_client FROM client ORDER BY nom_client;"






'Ouverture de la connexion'

MaConnexion.Open()







'Déclaration du lecteur de résultats de la requete'






Dim
myReader

As
OleDbDataReader = Macommande.ExecuteReader()


'Tant qu'il y a des résultats ,afficher dans la liste box'






Do



While
myReader.Read()


' On ajoute dans la liste déroulante de la fenetre modifier client'

listenom.Items.Add(myReader (0) )







Loop 



myReader.Close()


MaConnexion.Close()

Je vous remercie d'avance de votre aide

4 réponses

wassimez Messages postés 25 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 26 février 2008
26 févr. 2008 à 16:32
Salut,
Essaie de changer votre requette par cettte requette

"Me.cb_Recheche.Text " c le  contenu du combo box


" select
nom_client 
from
client 
where
nom_client
like '  Me.cb_Recheche.Text & %' order by
nom_client
;
"
WASSIM
0
sistaroro Messages postés 16 Date d'inscription samedi 7 avril 2007 Statut Membre Dernière intervention 19 mars 2009
26 févr. 2008 à 20:03
Merci, j'ai essayé sa. Mais y'a toujours un souci. Lorsque j'écris et que je change ce que j'avai écris, les noms qui étaient déja la restent dans la combobox.
Et je ne sais pas à quel évènement associer cette requete la.
Merci de votre aide
0
wassimez Messages postés 25 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 26 février 2008
26 févr. 2008 à 20:51
Salut,
Il, faut que tu vide le Combobox avant chaque appel du procedure,
pour l'evenement il faut que tu appel cette procedure en change "ComboBox_Change()"

WASSIM
0
sistaroro Messages postés 16 Date d'inscription samedi 7 avril 2007 Statut Membre Dernière intervention 19 mars 2009
26 févr. 2008 à 21:00
J'ai essayé sa. Mais quand j'écris par exemple 3 lettres le curseur revient au début de la zone de texte.ce qui inverse les lettre que je veux taper.Et pour l'évènement c'est ChangeUICues? Change je n'ai pas trouvé
0
Rejoignez-nous