Problème dans mes recherches

J_il Messages postés 109 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 9 septembre 2008 - 22 oct. 2007 à 10:56
chouchou270403 Messages postés 46 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 30 octobre 2007 - 30 oct. 2007 à 16:46
Bonjour à tous, voilà pour un projet de gestion d'un secretariat je dois faire des recherches dans les tables etc

Mon problème est que les recherches se basent sur le nom des personnes jusque là ça va mais lorsque la personne contient un espace dans son nom, tout ne va plus mdr exemple si j'entre De Volder et bien il me trouve bien mes personnes et les affiche dans ma listbox mais lorsque je clique sur la personne voulue, ce n'est pas la bonne qui s'affiche dans mes txt !!!!

Pour ce faire j'utilise les connexion DAO !





Voici un exemple de recherche
:

str_initiale = txt_rechercher_modifier_professeur.Text & "*" 'concaténation de la lettre contenue dans la variable avec l'étoile

    gestion_des_professeurs.Recordset.FindFirst "nom like '" & str_initiale & "'"

    'test pour afficher une MsgBox quand le contact n'est pas trouvé
    If gestion_des_professeurs.Recordset.NoMatch = True Then
       
        MsgBox "Le professeur que vous cherchez n'existe pas !", vbOKOnly + vbInformation, "Professeur non trouvé"
        txt_rechercher_modifier_professeur.Text = ""
        listbox_modifier_professeur.Clear
        Call Form_Activate
        Exit Sub
       
    Else
       
        listbox_modifier_professeur.Clear
        gestion_des_professeurs.Recordset.Filter = "nom like '" & str_initiale & "'"
        Set recordset_recherche_du_professeur = gestion_des_professeurs.Recordset.OpenRecordset
        Set gestion_des_professeurs.Recordset = recordset_recherche_du_professeur
       
        'Boucle Do Until qui tourne et ajoute les nom et prénom tant qu'elle n'est pas à la fin du fichier
        Do Until recordset_recherche_du_professeur.EOF
               
            str_nom_professeur = gestion_des_professeurs.Recordset!nom                                                      'ajout des données du champ nom dans la variable str_nom
            str_prenom_professeur = gestion_des_professeurs.Recordset!prenom                                            'ajout des données du champs prénom dans la variable str_prenom
            str_concatenation_nom_prenom_professeur = str_nom_professeur & " " & str_prenom_professeur  'concaténation des deux varibale pour afficher le nom et le prénom dans la listbox"
            listbox_modifier_professeur.AddItem str_concatenation_nom_prenom_professeur                         'ajout les enregistrements dans la ListBox
            gestion_des_professeurs.Recordset.MoveNext                                                                              'passe à l'enregistrement usivant
           
        Loop
        'Fin de la boucle
       
        frame_modifier_professeur.Visible = True 'Passage de la propriété Visible à True pour afficher la Frame
        eti_titre_frame_modifier_professeur.Visible = True
       
        gestion_des_professeurs.Refresh
       
    End If

Je vous informe aussi que pour chaque professeur j'ai un id qui est sont numéro de matricule ! Est-ce que je ne devrais pas me diriger par la pour savoir si c'est bioen lui ????

Merci de m'apporter la lumière

5 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
22 oct. 2007 à 11:30
quel code se produit lors du click. il faudrais que tu sauvegarde l'ID dans ton enregistrement (ou dans le ItemData de ta listbox) pour pouvoir retrouver l'enregistrement concerné
0
J_il Messages postés 109 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 9 septembre 2008
22 oct. 2007 à 11:42
Il me semblait bien que je devais faire quelque chose comme ça !!! Mais si quelqu'un à une autre solution au cas où ?

Merci à toi je te dis si ça fonctionne
0
J_il Messages postés 109 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 9 septembre 2008
22 oct. 2007 à 13:53
Re, ça ne fonctionne pas j'ai essayé assez bien de chose et je n'arrive pas au résultat voulu !!! Grrrrrrrr

Je vais ré expliquer les différentes étapes car si ça tombe je me suis mal exprimé !!!!

Etapes :




1 Dans une txt dans l'événement changes, une recherche est fait par rapport à ce qui est entrez dans la txt et affiche les données en live lol dans ma listbox ! Dans cette listox apparaît le nom et le prénom concaténé

2 Lorsque dans la listbox je clique par exemple sur DE VOLDER, il reste sur le premier professeur qui est DELMOTTE ! Car il n'effectue pas la recherche.

Pour info, lorsque je déconcatène ma chaine de caractère, j'utilise les fonctions left et mid donc DELMOTTRE JEAN ca donne DELMOTTE et JEAN désolé mais c'est pour bien tout expliquer !

Donc la je me dit que si ça tombe comme il y a un espace dans le nom du professeur ca va pas et bien oui en faisant une msgbox de la déconca ben j'ai juste DE dans le nom du professeur ce qui fait qu'il ne le trouve pas vu qu'aucun prof ne s'appel comme ça alors y a-t-il y moyen de déconcaténer plus efficacement ???

Voilà un peu plus d'info !!!
0
Cramfr Messages postés 160 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 8 juillet 2008
30 oct. 2007 à 13:35
Heu, bonjour, juste une question as tu utilisé un timer ?

Cramsoturf le VBien en quête de nouveau programme
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chouchou270403 Messages postés 46 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 30 octobre 2007
30 oct. 2007 à 16:46
Salut Cramfr !!! Pourquoi voudras tu que j'utilise un Timer !!!!!
0
Rejoignez-nous