acest tutorial de acces explică cum să creați un formular de căutare cu mai multe criterii.

poate doriți să citiți și:

accesați DoCmd.Metoda OpenForm pentru a deschide formularul de acces

valoarea casetei Combo Access depinde de o altă casetă Combo

returnați intrarea formularului de acces pentru a accesa raportul sau Formularul sau interogarea

accesați creați formularul de căutare cu mai multe criterii

uneori trebuie să creați un formular de căutare în care utilizatorii pot selecta criterii specifice. Cea mai simplă soluție este să filtrați direct datele pentru fiecare câmp, cum ar fi utilizarea Autofilterului în Excel, dar acest lucru nu este deloc elegant.

Access oferă o funcție de formular numită Filter by Form, care este foarte ușor de utilizat.

selectați un tabel/interogare > creare > formular > Aplicare filtru / sortare

access_search_form_11

acum Puteți selecta mai multe criterii, puteți selecta chiar și o valoare din caseta verticală. Cu toate acestea, aceste valori ale casetelor derulante sunt independente una de cealaltă.

de asemenea, puteți utiliza sau criterii făcând clic pe fila sau.

access_search_form_12

când ați terminat selecția, faceți clic pe Toggle Filter

access_search_form_13

o modalitate mai bună de a face filtrarea este ca utilizatorii să aleagă dintre casetele derulante dependente.

de exemplu, în prima casetă derulantă, utilizatorii aleg Departamentul A, iar apoi în a doua casetă derulantă, utilizatorii pot vizualiza o listă de persoane din departamentul A.

acest articol vă va arăta cum să faceți o astfel de filtrare.

creați un formular de rezultat

să presupunem că avem o interogare ca mai jos. Scopul nostru este de a permite utilizatorilor să selecteze Departamentul pentru a afișa informații despre angajați sau să selecteze Departamentul + ID-ul angajatului.

vom face un „formular de rezultat” care arată rezultatul căutării.

Interogare1
Departamentul ID angajat Data angajării Salariu indemnizație
cont 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
salarizare 5 1/1/2004 50000 500
HR 6 1/1/2005 60000 600

Faceți clic pe interogare și fila sub creare, selectați Mai multe formulare > foaie de date

access_search_form

Acum salvați formularul ca result_frm. În cazul în care ați schimba accidental datele de rezultat, ar trebui să modificați proprietatea blocată a fiecărei casete de Text la Da

access_search_form_04

în acest exemplu, Vreau să se întoarcă toate câmpurile de Query1 în formă de rezultat. Aleg foaie de date, deoarece fiecare înregistrare poate fi afișată într-un rând cu bara de defilare orizontală. Nu prefer să folosesc formular continuu sau formular unic, deoarece fiecare înregistrare este afișată în mai multe rânduri.

creați un formular de căutare

creați un formular gol și apoi adăugați două casete Combo (Combo_Dept, Combo_EmpID) și un buton (search_btn) așa cum se arată mai jos.

access_search_form_05

1) Faceți clic pe Combo_Dept, în proprietatea sursă rând, tastați

SELECT DISTINCT Department FROM Query1;

sursă rând este ceea ce puteți selecta în ComboBox.

2) Faceți clic pe Combo_EmpID, în proprietatea sursă rând, tastați

SELECT FROM Query1 WHERE =!!;

3) Selectați Combo_Dept, selectați după eveniment actualizare și de a construi procedura de mai jos

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

pe măsură ce selectați un departament, Combo_EmpID este resetat la Null și apoi executați din nou interogarea

4) Faceți clic dreapta pe search_btn și apoi alegeți construi eveniment

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

acum ați creat cu succes un formular de căutare simplu. După ce ați selectat criterii în formularul de căutare, după ce faceți clic pe butonul de căutare, formularul rezultat va apărea și afișează rezultatul.

Lasă un răspuns

Adresa ta de email nu va fi publicată.