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
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.
când ați terminat selecția, faceți clic pe Toggle Filter
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.
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
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
î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.
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.