Faciliter recherche d'enregistrement

Faciliter recherche d'enregistrement - VB/VBA/VBS - Programmation

Marsh Posté le 11-06-2010 à 15:12:05    

Bonjour,
 
J'ai créé un formulaire sous Access. Le formulaire comprend un bouton recherche. En cliquant dessus, une liste déroulante s'affiche avec les valeurs texte d'un champ A contrôlée avec une combobox.
 
En tapant les premières lettres de ma valeur du champ A, Access m'épure la liste au fur et à mesure.
 
Le problème est que si je me trompe dans l'orthographe, on ne trouve plus la valeur du champ souhaitée. Donc je fais à tatons jusqu'à la bonne orthographe....
 
Je voudrais taper un symbole tel * puis une partie de ma valeur recherchée du champ A afin de retrouver facilement un enregistrement.
 
Je sais qu'il existe une fonction like "*" mais je ne sait pas du tout comment l'appliquer à mon bouton recherche ou à ma liste déroulante.
 
Merci par avance de l'aide apportée.
 
Cordialement.

Reply

Marsh Posté le 11-06-2010 à 15:12:05   

Reply

Marsh Posté le 14-06-2010 à 15:01:53    

Hello
 
J'ai pas tout compris.
Tu saisis dans un controle (1), tu clicks sur un bouton (2) et ca te filtre une liste deroulante (3) ?


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 15-06-2010 à 18:32:13    

oui, dan sma liste déroulante j'ai dans un 1er temps tous les noms de mon champ. Au fur et à mesure que je tape les lettres la liste s'affine. Par exemple, si je tape D ça me filtre dans ma liste déroulante tous les noms commençant par D. puis E, ça me filtre tous les noms commençant par DE, etc...
Mais si je me trompe dans l'orthographe, je ne retrouverai pas facilement le nom que je cherche.
C'est assez clair?
Merci

Reply

Marsh Posté le 15-06-2010 à 18:36:28    

une fois le nom trouvé, je clique dessus et ça m'ouvre un formulaire avec les coordonnées du nom. Tous cela fonctionne mais je cherche à perfectionner ce système de recherche.
Par exemple en tapant * puis une partie du nom pour retrouver plus facilement un nom comme les noms composés.

Reply

Marsh Posté le 15-06-2010 à 18:41:49    

Voilà mon code pour cette action
LDclient est un combobox
 
Private Sub FICHE_d_un_CLIENT_Click()
    Me!LDclient.SetFocus
    Me!LDclient.Dropdown
End Sub
 
Private Sub LDclient_AfterUpdate()
    stDocName = "Fiche client"
    stLinkCriteria = "[nom_client]" = " & " '" & Forms!menu.LDclient & "'"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
 
ça aide plus?

Reply

Marsh Posté le 15-06-2010 à 18:47:10    

Alors en fait, tu ne filtres rien du tout. Tu ATTEINDS des items de la liste.
Mais rien n'est filtré.
 
De plus cette action est native a une combobox. Si tu veux pouvoir filtrer avec des *nom* il faut soit passer par un controle textbox en amont qui filtre soit une combobox soit une listbox, soit jouer sur la propriété Text de la combobox, mais c'est pas gagné et ca va prendre pas mal de ressource pour finalement pas grand chose.
 
Le mieux etant de mettre un controle textbox, de saisir ton texte, et au fur et a mesure de la frappe, filtrer une listbox avec un *nom*
 
Mais ce que tu demandes est pas vraiment réalisable/interressant


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 15-06-2010 à 19:09:04    

Un formulaire dédier à la recherche serait-il plus pratique?
Des idées plus simples que ce que je souhaite?

Reply

Marsh Posté le 15-06-2010 à 22:40:43    

Oui, ce que je t'ai proposé.


---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed