tämä Käyttöoikeustutoriaali kertoo, miten hakulomake luodaan useilla kriteereillä.

kannattaa myös lukea:

Access DoCmd.OpenForm Method to open Access Form

Access yhdistelmäruudun arvo riippuu toisesta yhdistelmäruudusta

Return Access Form input to Access Report or Form or question

Access create search Form with multiple criteria

joskus sinun täytyy luoda hakulomake, jossa käyttäjät voivat valita tietyt kriteerit. Yksinkertaisin ratkaisu on suodattaa jokaisen kentän tiedot suoraan, kuten Autofilterin käyttäminen Excelissä, mutta tämä ei ole lainkaan eleganttia.

Access tarjoaa Muotofunktion nimeltä Filter by Form, joka on erittäin helppokäyttöinen.

Valitse Taulukko/Query > luo > lomake > Käytä suodatinta / Lajittelu

access_search_form_11

nyt voit valita useita kriteereitä, voit jopa valita arvon avattavasta laatikosta. Pudotusrasioiden arvot ovat kuitenkin toisistaan riippumattomia.

voit käyttää tai kriteereitä myös klikkaamalla or-välilehteä.

access_search_form_12

kun valinta on tehty, napsauta Toggle Filter

access_search_form_13

parempi tapa tehdä suodatus on, että käyttäjät voivat valita riippuvaisista pudotusvalikoista.

esimerkiksi ensimmäisessä pudotusvalikossa käyttäjät valitsevat osaston A, ja sitten toisessa pudotusvalikossa käyttäjät voivat tarkastella listan osaston A henkilöistä.

tässä artikkelissa näytetään, miten tällainen suodatus tehdään.

luo tulosmuoto

Oletetaan, että meillä on kysely kuten alla. Tavoitteenamme on antaa käyttäjien valita osasto näyttää työntekijän tiedot, tai valitse osasto + työntekijän tunnus.

teemme” tuloslomakkeen”, joka näyttää hakutuloksen.

Query1
osasto henkilötunnus työaika palkka avustus
tili 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
palkanlaskenta 5 1/1/2004 50000 500
HR 6 1/1/2005 60000 600

Napsauta kyselyä ja Luo-välilehteä, valitse Lisää lomakkeita > datalehti

access_search_form

Tallenna lomake nyt result_frm. Jos muuttaisit vahingossa tulostietoja, sinun tulisi muuttaa jokaisen tekstiruudun lukittu ominaisuus muotoon Kyllä

access_search_form_04

tässä esimerkissä haluan palauttaa kaikki kentät Query1 Tulosmuodossa. Valitsen datalehden, koska jokainen tietue voidaan näyttää yhdellä rivillä vaakasuuntaisella vierityspalkilla. En halua käyttää jatkuvaa lomaketta tai yksittäistä lomaketta, koska jokainen levy näkyy useassa rivissä.

luo hakulomake

Luo tyhjä lomake ja lisää sitten kaksi Yhdistelmäruutua (Combo_Dept, Combo_EmpID) ja yksi painike (search_btn) alla esitetyllä tavalla.

access_search_form_05

1) Napsauta Combo_Dept, rivin Lähdeominaisuudessa kirjoita

SELECT DISTINCT Department FROM Query1;

rivin lähde on mitä voit valita Comboboxissa.

2) Klikkaa Combo_EmpID, rivillä Lähdeomaisuus, tyyppi

SELECT FROM Query1 WHERE =!!;

3) Valitse Combo_Dept, valitse Päivitystapahtuman jälkeen ja rakenna alla oleva menettely

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

kun valitset osaston, Combo_EmpID nollataan ja lähetetään kysely uudelleen

4) napsauta hiiren kakkospainikkeella search_btn-painiketta ja valitse Rakenna tapahtuma

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

nyt olet onnistuneesti luonut yksinkertaisen hakulomakkeen. Kun olet valinnut kriteerit hakulomakkeessa, kun napsautat haku-painiketta, Tuloslomake avautuu ja näyttää tuloksen.

Vastaa

Sähköpostiosoitettasi ei julkaista.