In diesem Access-Lernprogramm wird erläutert, wie Sie ein Suchformular mit mehreren Kriterien erstellen.
Sie können auch lesen:
Access DoCmd.OpenForm-Methode zum Öffnen des Zugriffsformulars
Der Wert des Zugriffskombinationsfelds hängt von einem anderen Kombinationsfeld ab
Return Access Form input to Access Report or Form or Query
Access create search Form with multiple criteria
Manchmal müssen Sie ein Suchformular erstellen, in dem Benutzer bestimmte Kriterien auswählen können. Die einfachste Lösung besteht darin, Daten für jedes Feld direkt zu filtern, z. B. mithilfe des Autofilters in Excel.
Access bietet eine Formularfunktion namens Filter by Form, die sehr einfach zu bedienen ist.
Tabelle/Abfrage auswählen > Erstellen > Formular > Filter anwenden/Sortieren
Jetzt können Sie mehrere Kriterien auswählen, Sie können sogar einen Wert aus dem Dropdown-Feld auswählen. Diese Werte von Dropdown-Feldern sind jedoch unabhängig voneinander.
Sie können auch Or-Kriterien verwenden, indem Sie auf die Registerkarte Oder klicken.
Wenn Sie die Auswahl getroffen haben, klicken Sie auf Filter umschalten
Eine bessere Möglichkeit zum Filtern besteht darin, dass Benutzer aus abhängigen Dropdown-Feldern auswählen.
Im ersten Dropdown-Feld wählen Benutzer beispielsweise Abteilung A aus, und im zweiten Dropdown-Feld können Benutzer eine Liste der Personen der Abteilung A anzeigen.
In diesem Artikel erfahren Sie, wie Sie eine solche Filterung durchführen.
Erstellen Sie ein Ergebnisformular
Angenommen, wir haben eine Abfrage wie folgt. Unser Ziel ist es, Benutzern zu ermöglichen, eine Abteilung auszuwählen, um Mitarbeiterinformationen anzuzeigen, oder eine Abteilung + Mitarbeiter-ID auszuwählen.
Wir werden ein „Ergebnisformular“ erstellen, das das Suchergebnis anzeigt.
Abteilung | Mitarbeiter-ID | Beschäftigungsdatum | Gehalt | Zulage |
---|---|---|---|---|
Konto erstellen | 1 | 1/1/2000 | 10000 | 100 |
Adminbereich | 2 | 1/1/2001 | 20000 | 200 |
Adminbereich | 3 | 1/1/2002 | 30000 | 300 |
Adminbereich | 4 | 1/1/2003 | 40000 | 400 |
Gehaltsabrechnung | 5 | 1/1/2004 | 50000 | 500 |
HR | 6 | 1/1/2005 | 60000 | 600 |
Klicken Sie auf die Abfrage und wählen Sie auf der Registerkarte Erstellen die Option Weitere Formulare > Datenblatt
Speichern Sie nun das Formular als result_frm . Falls Sie versehentlich die Ergebnisdaten ändern würden, sollten Sie die Gesperrte Eigenschaft jedes Textfelds in Ja ändern
In diesem Beispiel möchte ich alle Felder von Query1 in Ergebnisform zurückgeben. Ich wähle Datenblatt, da jeder Datensatz in einer Zeile mit horizontaler Bildlaufleiste angezeigt werden kann. Ich bevorzuge kein kontinuierliches Formular oder ein einzelnes Formular, da jeder Datensatz in mehreren Zeilen angezeigt wird.
Erstellen Sie ein Suchformular
Erstellen Sie ein leeres Formular und fügen Sie dann zwei Kombinationsfelder (Combo_Dept, Combo_EmpID) und eine Schaltfläche (search_btn) hinzu, wie unten gezeigt.
1) Klicken Sie auf Combo_Dept, geben Sie in der Eigenschaft Row Source
SELECT DISTINCT Department FROM Query1;
Row Source ist das, was Sie in der ComboBox auswählen können.
2) Klicken Sie auf Combo_EmpID, geben Sie in der Eigenschaft Row Source
SELECT FROM Query1 WHERE =!!;
3) Wählen Sie Combo_Dept, wählen Sie Nach dem Update-Ereignis und erstellen Sie die folgende Prozedur
Private Sub Combo_Dept_AfterUpdate() Me.Combo_EmpID = Null Me.Combo_EmpID.RequeryEnd Sub
Wenn Sie eine Abteilung auswählen, wird Combo_EmpID auf Null zurückgesetzt und führt dann die Abfrage erneut aus
4) Klicken Sie mit der rechten Maustaste auf search_btn und wählen Sie dann 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
Jetzt haben Sie erfolgreich ein einfaches Suchformular erstellt. Nachdem Sie Kriterien im Suchformular ausgewählt haben, wird das Ergebnisformular angezeigt, sobald Sie auf die Schaltfläche Suchen klicken.