denne Adgangsvejledning forklarer, hvordan du opretter en søgeformular med flere kriterier.

du kan også læse:

adgang DoCmd.Openform metode til at åbne Access formular

Access kombinationsboks værdi afhænger af en anden kombinationsboks

Return Access formular input til Access rapport eller Formular eller forespørgsel

Access Opret søgeformular med flere kriterier

nogle gange skal du oprette en søgeformular, hvor brugerne kan vælge specifikke kriterier. Den enkleste løsning er at filtrere data direkte for hvert felt, som f.eks.

Access giver en Formfunktion kaldet Filter efter formular, som er meget nem at bruge.

vælg en tabel / forespørgsel > Opret > Form > Anvend Filter / Sorter

access_search_form_11

nu kan du vælge flere kriterier, du kan endda vælge en værdi fra rullemenuen. Men disse værdier af rullemenuen er uafhængige af hinanden.

du kan også bruge eller kriterier ved at klikke på fanen eller.

access_search_form_12

når du vælger er færdig, klik på Toggle Filter

access_search_form_13

en bedre måde at filtrere på er, at brugerne kan vælge mellem afhængige rullemenuer.

for eksempel i den første rullemenu vælger brugerne afdeling A, og derefter i den anden rullemenu kan brugerne se en liste over person i afdeling A.

denne artikel viser dig, hvordan du gør sådan filtrering.

Opret en resultatformular

Antag, at vi har en forespørgsel som nedenfor. Vores mål er at give brugerne mulighed for at vælge afdeling for at vise medarbejderoplysninger eller vælge afdeling + medarbejder-ID.

vi skal lave en “resultatformular”, der viser søgeresultatet.

Forespørgsel1
afdeling medarbejder-ID Ansættelsesdato løn godtgørelse
konto 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
løn 5 1/1/2004 50000 500
HR 6 1/1/2005 60000 600

Klik på forespørgslen og fanen under Opret, Vælg flere formularer > dataark

access_search_form

Gem nu formularen som result_frm. Hvis du ved et uheld ændrer resultatdataene, skal du ændre den låste egenskab for hvert tekstfelt til Ja

access_search_form_04

i dette eksempel vil jeg returnere alle felter i Forespørgsel1 i Resultatform. Jeg vælger dataark, fordi hver post kan vises i en række med vandret rullepanel. Jeg foretrækker ikke at bruge kontinuerlig Form eller enkelt Form, fordi hver post vises i flere rækker.

Opret en søgeformular

Opret en tom formular, og tilføj derefter to kombinationsbokse (Combo_Dept, Combo_EmpID) og en knap (search_btn) som vist nedenfor.

access_search_form_05

1) klik på Combo_Dept, i egenskaben Rækkekilde, skriv

SELECT DISTINCT Department FROM Query1;

Rækkekilde er det, du kan vælge i kombinationsfeltet.

2) Klik på Combo_EmpID i egenskaben Rækkekilde, skriv

SELECT FROM Query1 WHERE =!!;

3) Vælg Combo_Dept, vælg efter Opdateringshændelse og opbyg nedenstående Procedure

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

når du vælger en afdeling, nulstilles Combo_EmpID til Null og kører derefter forespørgslen

4) Højreklik på search_btn og vælg derefter 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 har du oprettet en simpel søgeformular. Når du har valgt kriterier i søgeformularen, når du klikker på søgeknappen, vises Resultatformularen og viser resultatet.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.