deze Toegangshandleiding legt uit hoe u een zoekformulier met meerdere criteria maakt.

mogelijk wilt u ook lezen:

Access DoCmd.OpenForm Method to open Access Form

Access Combo Box waarde hangt af van een andere Combo Box

retourneer Access Form input to Access Report or Form or Query

Access zoekformulier aanmaken met meerdere criteria

soms moet u een zoekformulier maken waarin gebruikers specifieke criteria kunnen selecteren. De eenvoudigste oplossing is om gegevens voor elk veld direct te filteren, zoals het gebruik van AutoFilter in Excel, maar dit is helemaal niet elegant.

Access biedt een Vormfunctie genaamd Filter by Form die zeer eenvoudig te gebruiken is.

selecteer een tabel / Query > maak > formulier > filter/sorteren toepassen

access_search_form_11

nu kunt u meerdere criteria selecteren, U kunt zelfs een waarde selecteren uit de vervolgkeuzelijst. Maar die waarden van dropdown boxes zijn onafhankelijk van elkaar.

u kunt ook Or criteria gebruiken door op het tabblad Or te klikken.

access_search_form_12

wanneer u de selectie gedaan is, klikt u op Toggle Filter

access_search_form_13

een betere manier om te filteren is voor gebruikers om te kiezen uit afhankelijke dropdown dozen.

bijvoorbeeld, in het eerste keuzevakje kiezen gebruikers afdeling A, en vervolgens in het tweede keuzevakje kunnen gebruikers een lijst met personen van afdeling A.

bekijken Dit artikel laat u zien hoe u een dergelijke filtering uitvoert.

Maak een resultaatformulier

neem aan dat we een zoekopdracht hebben zoals hieronder. Ons doel is om gebruikers in staat te stellen afdeling te selecteren om werknemersinformatie te tonen, of selecteer afdeling + werknemer-ID.

we gaan een “resultaatformulier” maken dat het zoekresultaat toont.

Query1
Afdeling Werknemer-ID Werkgelegenheid Datum Salaris – Uitkering
Account 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
Payroll 5 1/1/2004 50000 500
HR 6 1/1/2005 60000 600

Klik op de Query en de onder tabblad Maken, selecteer Meer Formulieren > DataSheet

access_search_form

Nu sla het Formulier op als result_frm. In het geval dat u per ongeluk de resultaatgegevens zou wijzigen, moet u de vergrendelde eigenschap van elk tekstvak wijzigen in ja

access_search_form_04

In dit voorbeeld wil ik alle velden van Query1 in Resultaatvorm retourneren. Ik kies DataSheet omdat elke record kan worden weergegeven in een rij met horizontale schuifbalk. Ik heb niet de voorkeur aan continue vorm of enkele vorm te gebruiken, omdat elke record wordt weergegeven in meerdere rijen.

Maak een zoekformulier

Maak een leeg formulier aan en voeg twee keuzelijsten (Combo_Dept, Combo_EmpID) en één knop (search_btn) toe, zoals hieronder getoond.

access_search_form_05

1) klik op Combo_Dept, in de rij bron eigenschap, type

SELECT DISTINCT Department FROM Query1;

Rij bron is wat u kunt selecteren in de ComboBox.

2) Klik op Combo_EmpID, in de rij bron eigenschap, type

SELECT FROM Query1 WHERE =!!;

3) Selecteer Combo_Dept, selecteer na Update Event en bouw de onderstaande Procedure

Private Sub Combo_Dept_AfterUpdate() Me.Combo_EmpID = Null Me.Combo_EmpID.RequeryEnd Sub

Als u een afdeling selecteert, wordt Combo_EmpID gereset naar Null en voer de query opnieuw uit

4) Klik met de rechtermuisknop op search_btn en kies 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

Nu u een eenvoudig zoekformulier hebt aangemaakt. Nadat u criteria hebt geselecteerd in het zoekformulier, zodra u op de knop Zoeken klikt, verschijnt het Resultaatformulier en wordt het resultaat weergegeven.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.