Denne Access-veiledningen forklarer hvordan du oppretter et Søkeskjema med flere kriterier.
du vil kanskje også lese:
Få Tilgang Til DoCmd.OpenForm-Metoden for å åpne Access-Skjema
Access-Kombinasjonsboksverdien avhenger av en Annen Kombinasjonsboks
Returner Access – skjemainndata til Access-Rapport Eller Skjema Eller Spørring
Access opprett Søkeskjema med flere kriterier
noen ganger må du opprette et Søkeskjema der brukerne kan velge bestemte kriterier. Den enkleste løsningen er å filtrere data direkte for hvert felt som Å bruke AutoFilter I Excel, men dette er ikke elegant i det hele tatt.
Access gir En Skjemafunksjon kalt Filter by Form som er veldig enkel å bruke.
Velg En Tabell /Spørring > Opprett > Skjema > Bruk Filter / Sorter
Nå kan du velge flere kriterier, kan du selv velge en verdi fra rullegardinlisten. Men disse verdiene av dropdown bokser er uavhengige av hverandre.
Du kan også bruke eller vilkår ved å klikke på eller-fanen.
når du valget er gjort, klikk På Toggle Filter
en bedre måte å gjøre filtrering er for brukere å velge mellom avhengige dropdown bokser.
i den første rullegardinmenyen velger brukerne for eksempel avdeling A, og i den andre rullegardinmenyen kan brukerne vise en liste over personer i avdeling A.
denne artikkelen viser deg hvordan du gjør slik filtrering.
Opprett et resultatskjema
Anta at vi har En Spørring som nedenfor. Vårt mål er å tillate brukere å velge avdeling for å vise ansatt informasjon, eller velg avdeling + ansatt ID.
Vi skal lage et «resultatskjema» som viser søkeresultatet.
Avdeling | Ansatt ID | Ansettelsesdato | Lønn | Godtgjø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ønn | 5 | 1/1/2004 | 50000 | 500 |
HR | 6 | 1/1/2005 | 60000 | 600 |
Klikk På Spørringen og Under Opprett-fanen, velg Flere Skjemaer > Dataark
lagre Skjemaet Som result_frm. Hvis du ved et uhell endrer resultatdataene, bør du endre Den Låste Egenskapen Til Hver Tekstboks Til Ja
I dette eksemplet vil jeg returnere alle feltene I Query1 I Resultatskjema. Jeg velger Dataark fordi hver post kan vises i en rad med horisontal rullefelt. Jeg foretrekker ikke Å bruke Kontinuerlig Skjema eller Enkelt Skjema fordi hver post vises i flere rader.
Opprett Et Søkeskjema
Opprett et tomt Skjema og legg deretter til to Kombinasjonsbokser (Combo_Dept, Combo_EmpID) og en knapp (search_btn) som vist nedenfor.
1) Klikk På Combo_Dept, i Egenskapen Radkilde, skriv inn
SELECT DISTINCT Department FROM Query1;
Radkilde er det du kan velge i Comboboxen.
2) Klikk På Combo_EmpID, i Egenskapen Radkilde, type
SELECT FROM Query1 WHERE =!!;
3) Velg Combo_Dept, velg Etter Oppdateringshendelse Og bygg Prosedyren Under
Private Sub Combo_Dept_AfterUpdate() Me.Combo_EmpID = Null Me.Combo_EmpID.RequeryEnd Sub
Når Du velger En Avdeling, tilbakestilles Combo_EmpID Til Null og kjør deretter spørringen
4) Høyreklikk på search_btn og velg Deretter 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
Nå har du opprettet et enkelt Søkeskjema. Etter at du har valgt kriterier I Søkeskjemaet, når du klikker på søkeknappen, Vil Resultatskjemaet dukke opp og viser resultatet.