Intégrer une fonction de recherche adhèrent dans le menu
Kyoshi6 Messages postés 47 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai une base de donnée Adhérents créée avec ACCESS.
Dans mon formulaire Adhérant, dans le pied de formulaire j'ai une recherche adhérant avec menu déroulant qui fonctionne.
Je voudrais avoir cette fonction dans mon menu (formulaire général).
Si quelqu'un a une solution ?
Merci d'avance
Cordialement
- Intégrer une fonction de recherche adhèrent dans le menu
- Fonction si et - Guide
- Intégrer une vidéo dans un powerpoint - Guide
- Menu déroulant excel - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Comment faire une recherche à partir d'une photo - Guide
3 réponses
Bonjour,
Dans votre formulaire de menu général, ajoutez :
- Une zone de liste déroulante
Mode Création → Ajoutez une zone de liste déroulante
Source contrôle :
SELECT ID_Adherent, Nom, Prenom FROM Adherents ORDER BY Nom, Prenom;
Nommez-la par exemple cboRechercheAdherent
Code VBA pour ouvrir le formulaire avec l'adhérent sélectionné
Dans les propriétés de la zone de liste, événement "Après MAJ" :
Private Sub cboRechercheAdherent_AfterUpdate()
If Not IsNull(Me.cboRechercheAdherent) Then
DoCmd.OpenForm "NomDeVotreFormulaireAdherent", , , "ID_Adherent = " & Me.cboRechercheAdherent
Me.cboRechercheAdherent = Null 'Réinitialise la recherche
End If
End Sub
Bonjour,
Merci pour votre réponse rapide.
Après plusieurs essais, je n'y arrive pas. (je suis pas très doué.)
Pouvez vous me détaillé la procedure.
En vous remerciant par avance
cordialement
1 : Ouvrir votre formulaire Menu en mode Création
Ouvrez votre base de données Access
Dans le volet gauche, cliquez sur "Formulaires"
Faites un clic droit sur votre formulaire de menu général
Choisissez "Mode Création"
2 : Ajouter une zone de liste déroulante
Dans le ruban en haut, cliquez sur l'onglet "Création"
Dans le groupe "Contrôles", désactivez le bouton "Utiliser les Assistants Contrôle" (s'il est activé)
Cliquez sur l'icône "Zone de liste déroulante" (c'est une petite boîte avec une flèche vers le bas)
Tracez un rectangle dans votre formulaire menu (là où vous voulez la liste)
3 : Configurer la zone de liste déroulante
La zone de liste est maintenant créée. Faites un clic droit dessus
Choisissez "Propriétés"
Dans la fenêtre des propriétés, onglet "Toutes", modifiez ces paramètres :
Propriétés importantes à remplir :
Nom: cboRechercheAdherent
Origine source: Adhérents (le nom de votre table)
Contenu:
Cliquez sur les 3 petits points ... puis suivez l'étape ci-dessous
Pour le Contenu (Requête SQL) :
Quand vous cliquez sur les 3 points, une fenêtre s'ouvre. En bas de cette fenêtre, il devrait y avoir un bouton "Affichage SQL" ou un bouton pour basculer en mode SQL. Cliquez dessus et collez ceci :
SELECT ID_Adherent, Nom & " " & Prenom AS NomComplet FROM Adherents ORDER BY Nom, Prenom;
Important : Remplacez ID_Adherent, Nom, Prenom et Adherents par les vrais noms de vos champs et table.
Fermez la fenêtre de requête (elle vous demande de sauvegarder, cliquez OUI)
Retournez dans les propriétés et modifiez encore ces paramètres :
Colonne liée: 1
Nbre colonnes: 2
Largeurs colonnes: 0cm;5cm (ceci cache la première colonne ID et affiche le nom)
Largeur liste: 5cm
4 : Ajouter une étiquette (optionnel mais recommandé)
Dans le ruban "Création", cliquez sur "Étiquette" (icône "Aa")
Tracez un rectangle à côté ou au-dessus de votre zone de liste
Tapez : "Rechercher un adhérent :"
5 : Ajouter le code VBA
C'est la partie importante qui fait fonctionner la recherche !
Sélectionnez votre zone de liste déroulante cboRechercheAdherent
Dans les propriétés, cliquez sur l'onglet "Événement"
Trouvez la ligne "Après MAJ"
Cliquez dans la case à droite, une petite flèche et trois points ... apparaissent
Cliquez sur les trois points ...
Une fenêtre apparaît avec 3 choix : choisissez "Générateur de code"
Cliquez sur OK
Une fenêtre de code VBA s'ouvre avec quelque chose comme :
Private Sub cboRechercheAdherent_AfterUpdate() End Sub
Entre ces deux lignes, collez ce code :
Private Sub cboRechercheAdherent_AfterUpdate()
If Not IsNull(Me.cboRechercheAdherent) Then
DoCmd.OpenForm "Adherant", , , "ID_Adherent = " & Me.cboRechercheAdherent
Me.cboRechercheAdherent = Null
End If
End Sub
Très important :
Remplacez "Adherant" par le nom exact de votre formulaire d'adhérent (regardez dans le volet gauche)
Remplacez ID_Adherent par le nom exact de votre champ clé primaire dans votre table
Fermez la fenêtre de code (cliquez sur le X)
6 : Enregistrer et tester
Enregistrez votre formulaire : Ctrl + S ou icône disquette
Fermez le mode Création
Ouvrez votre formulaire menu normalement (double-clic)
Essayez la liste déroulante : sélectionnez un adhérent
Le formulaire de l'adhérent devrait s'ouvrir automatiquement !
Si ça ne fonctionne pas
Problème courant n°1 : Message d'erreur avec des chiffres
Vérifiez que les noms ID_Adherent, Nom, Prenom, Adherents correspondent exactement à votre base
Problème courant n°2 : La liste est vide
Vérifiez l'orthographe du nom de votre table dans la requête SQL
Problème courant n°3 : Le formulaire ne s'ouvre pas
Vérifiez le nom exact de votre formulaire d'adhérent dans le code VBA