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

access_search_form_11

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.

access_search_form_12

Une fois la sélection terminée, cliquez sur Basculer le filtre

access_search_form_13

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.

Query1
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

access_search_form

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

access_search_form_04

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.

access_search_form_05

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.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.