Ce tutoriel d’accès explique comment créer un formulaire de recherche avec plusieurs critères.
Vous pouvez également lire:
Access DoCmd.Méthode OpenForm pour ouvrir le Formulaire d’accès
La valeur de la zone de liste déroulante d’accès dépend d’une autre Zone de liste déroulante
Retourner le Formulaire d’accès pour Accéder au Rapport ou au Formulaire ou à la requête
Accès créer un formulaire de recherche avec plusieurs critères
Parfois, vous devez créer un Formulaire de recherche dans lequel les utilisateurs peuvent sélectionner des critères spécifiques. La solution la plus simple consiste à filtrer directement les données pour chaque champ, comme en utilisant le filtre automatique dans Excel, mais ce n’est pas du tout élégant.
Access fournit une fonction de formulaire appelée Filtre par formulaire qui est très facile à utiliser.
Sélectionnez une Table / Requête > Créer > Formulaire > Appliquer un Filtre / Trier
Maintenant, vous pouvez sélectionner plusieurs critères, vous pouvez même sélectionner une valeur dans la liste déroulante. Cependant, ces valeurs des zones déroulantes sont indépendantes les unes des autres.
Vous pouvez également utiliser les critères Ou en cliquant sur l’onglet Ou.
Une fois la sélection terminée, cliquez sur Basculer le filtre
Une meilleure façon de filtrer consiste pour les utilisateurs à choisir parmi les listes déroulantes dépendantes.
Par exemple, dans la première liste déroulante, les utilisateurs choisissent le département A, puis dans la deuxième liste déroulante, les utilisateurs peuvent afficher une liste de personnes du département A.
Cet article vous montrera comment effectuer un tel filtrage.
Créez un formulaire de résultat
Supposons que nous avons une requête comme ci-dessous. Notre objectif est de permettre aux utilisateurs de sélectionner département pour afficher les informations sur les employés, ou de sélectionner département + identifiant d’employé.
Nous allons créer un « formulaire de résultat » qui affiche le résultat de la recherche.
Ministère | Numéro D’employé | Date d’emploi | Salaire | Indemnité |
---|---|---|---|---|
Compte | 1 | 1/1/2000 | 10000 | 100 |
Admin | 2 | 1/1/2001 | 20000 | 200 |
Admin | 3 | 1/1/2002 | 30000 | 300 |
Admin | 4 | 1/1/2003 | 40000 | 400 |
Paie | 5 | 1/1/2004 | 50000 | 500 |
RH | 6 | 1/1/2005 | 60000 | 600 |
Cliquez sur la Requête et sous l’onglet Créer, sélectionnez Plus de formulaires > Fiche technique
Enregistrez maintenant le formulaire sous result_frm. Si vous modifiez accidentellement les données de résultat, vous devez modifier la propriété Verrouillée de chaque zone de texte sur Oui
Dans cet exemple, je souhaite renvoyer tous les champs de Query1 sous forme de résultat. Je choisis la feuille de données car chaque enregistrement peut être affiché sur une ligne avec une barre de défilement horizontale. Je ne préfère pas utiliser de Formulaire continu ou de Formulaire unique car chaque enregistrement est affiché sur plusieurs lignes.
Créer un Formulaire de recherche
Créer un Formulaire vierge, puis ajouter deux zones de liste déroulante (Combo_Dept, Combo_EmpID) et un bouton (search_btn) comme indiqué ci-dessous.
1) Cliquez sur Combo_Dept, dans la propriété Source de ligne, tapez
SELECT DISTINCT Department FROM Query1;
La source de ligne est ce que vous pouvez sélectionner dans la liste déroulante.
2) Cliquez sur Combo_EmpID, dans la propriété Source de ligne, tapez
SELECT FROM Query1 WHERE =!!;
3) Sélectionnez Combo_Dept, sélectionnez Après l’événement de mise à jour et créez la procédure ci-dessous
Private Sub Combo_Dept_AfterUpdate() Me.Combo_EmpID = Null Me.Combo_EmpID.RequeryEnd Sub
Lorsque vous sélectionnez un département, Combo_EmpID est réinitialisé à Null, puis réexécutez la requête
4) Faites un clic droit sur search_btn, puis choisissez Build Event
Private Sub search_btn_Click() If IsNull(Me.Combo_EmpID) Then searchCriteria = "='" & Me.Combo_Dept & "'" searchSQL = "Select * FROM Query1 where " & searchCriteria Else searchCriteria = "='" & Me.Combo_Dept & "' AND =" & Me.Combo_EmpID searchSQL = "Select * FROM Query1 where " & searchCriteria End If DoCmd.OpenForm "result_frm", 3, searchSQLEnd Sub
Maintenant, vous avez réussi à créer un formulaire de recherche simple. Une fois que vous avez sélectionné les critères dans le formulaire de recherche, une fois que vous avez cliqué sur le bouton Rechercher, le Formulaire de résultat apparaîtra et affichera le résultat.