Formulaire de recherche personnalisé

Fermé
Heikro Messages postés 40 Date d'inscription mardi 28 mai 2013 Statut Membre Dernière intervention 5 mars 2019 - 12 juin 2013 à 09:57
Heikro Messages postés 40 Date d'inscription mardi 28 mai 2013 Statut Membre Dernière intervention 5 mars 2019 - 12 juin 2013 à 14:10
Bonjour,

désolé par avance si ma question est évidente, mais je n'ai pas trouvé comment faire sur Access, ni sur internet.
Je cherche à faire un formulaire de recherche sur les enregistrements d'une table collaborateur. Je veux mettre 3 zones de texte "d'entrée" dans ce formulaire : le matricule (clé primaire de la table collaborateur), le nom et le prénom, puis un bouton pour lancer la recherche. Je ne veux pas utiliser la fonction recherche existante d'Access.
J'aimerais associer une macro vba au bouton, pour que lorsqu'on clique sur ce bouton, si la zone de texte correspondant au matricule est vide et que celle correspondant au Nom n'est pas vide, il lance une requête pour chercher les noms à partir de ce qui a été rentré.
Sauf que je ne vois pas comment faire avec le fonctionnement d'une zone de texte. Voici ce que j'ai compris en essayant de faire fonctionner ça (dites moi si je me trompe...) :
- En mode création, si on ne met rien dans une zone de texte, il apparaît "Indépendant", donc elle n'est pas liée à une table. Par conséquent, est-ce qu'il est impossible de désigner cette zone de texte dans une macro ? Est-ce qu'on peut récupérer la "valeur" rentrée dans cette zone pour l'utiliser dans une requête ?
- En mode création, si je mets dans une zone de texte : Nom, puis Prénom dans une autre (et je laisse vide celle du matricule), et que je retourne en mode formulaire et que je rentre un nom et un prénom, access me demande de rentrer le matricule en gros. Je peux éviter ça ?

Désolé si il y a une manière plus simple de faire, mais je suis parti sur ça.

Merci d'avance.
Heikro

2 réponses

Heikro Messages postés 40 Date d'inscription mardi 28 mai 2013 Statut Membre Dernière intervention 5 mars 2019 8
12 juin 2013 à 11:18
Une autre question au passage : est-il possible de récupérer des enregistrements dans mon formulaire issus d'une requête ?
Par exemple, si une requête me donne que 3 enregistrements, est-ce que en mettant =[NomRequête]![matricule] dans la zone de texte correspondant au matricule ça devrait fonctionner ? Parce que ça ne marche pas pour moi...

Merci d'avance
0
Heikro Messages postés 40 Date d'inscription mardi 28 mai 2013 Statut Membre Dernière intervention 5 mars 2019 8
12 juin 2013 à 14:10
J'ai trouvé pour ma première question...
Pour ceux que ça intéresse : pour désigner une zone de texte vide, ce n'est pas "", mais c'est IsNull(NomDeLaZoneDeTexte).
Donc dans la macro, quand je mettait If NomDeLaZoneDeTexte = "" Then ..., ça ne marchait pas.

Pour ma 2ème question, j'ai trouvé que =RechDom("NomChamp";"NomRequête") donnait le nom du champ du PREMIER enregistrement de la requête. Comment faire pour avoir les autres ?
0