Erstellen einer dynamischen Abfrage mit Werten aus einem Suchformular in Access
Erweitert: Erfordert Expertenkenntnisse für Codierung, Interoperabilität und Mehrbenutzerfähigkeiten.
Dieser Artikel bezieht sich auf Microsoft Access-Datenbankdateien (.mdb) oder Microsoft Access-Datenbankdateien (.accdb), und auch auf Microsoft Access-Projektdateien (.adp).
Zusammenfassung
In diesem Artikel erfahren Sie, wie Sie dynamisch Kriterien für eine Abfragezeichenfolge mit Werten aus einem Suchformular in Microsoft Access erstellen.
Weitere Informationen
Manchmal möchten Sie möglicherweise ein Formular erstellen, das als Suchformular dient. Sie möchten Werte im Formular eingeben und dynamisch die entsprechende SQL-Zeichenfolge erstellen können. Die folgenden Schritte zeigen, wie Sie dynamisch eine Abfragezeichenfolge erstellen, die die BuildCriteria-Methode verwendet.
Die Verwendung der hier aufgeführten Informationen, Makro- oder Programmcodes geschieht auf Ihre eigene Verantwortung. Microsoft stellt Ihnen diese Informationen sowie Makro- und Programmlistings ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionsfähigkeit sowie ohne Anspruch auf Support zur Verfügung. Die zur Verfügung gestellten Makro- und Programmierungsbeispiele sollen lediglich exemplarisch die Funktionsweise des Beispiels aufzeigen. Microsoft-Supporttechniker können ihnen helfen, die Funktionalität eines bestimmten Verfahrens zu erklären, aber sie werden diese Beispiele nicht ändern, um zusätzliche Funktionen bereitzustellen oder Verfahren zu erstellen, die Ihren spezifischen Anforderungen entsprechen. ACHTUNG: Wenn Sie die Schritte in diesem Beispiel ausführen, ändern Sie die Beispieldatenbank Northwind.mdb. Möglicherweise möchten Sie die Northwind.mdb-Datei sichern und die folgenden Schritte für eine Kopie der Datenbank ausführen.
Schritt-für-Schritt-Beispiel
- Starten Sie Den Zugriff.
- Zeigen Sie im Menü Hilfe auf Beispieldatenbanken, und klicken Sie dann auf Northwind-Beispieldatenbank.
- Öffnen Sie das Kundenformular in der Entwurfsansicht.
- Fügen Sie dem Formular eine Befehlsschaltfläche und ein Textfeld hinzu, und legen Sie dann die folgenden Eigenschaften fest:
Command Button
------------------------
Name: cmdSearch
Caption: Search
OnClick: Event Procedure
Text Box
--------------
Name: txtSQL
Width: 4.4583"
Height: 1.25"
- Legen Sie die OnClick-Eigenschaft der Befehlsschaltfläche auf die folgende Ereignisprozedur fest:
Private Sub cmdSearch_Click()
On Error Resume Next
Dim ctl As Control
Dim sSQL As String
Dim sWhereClause As String
'Initialize the Where Clause variable.
sWhereClause = " Where "
'Start the first part of the select statement.
sSQL = "select * from customers "
'Loop through each control on the form to get its value.
For Each ctl In Me.Controls
With ctl
'The only Control you are using is the text box.
'However, you can add as many types of controls as you want.
Select Case .ControlType
Case acTextBox
.SetFocus
'This is the function that actually builds
'the clause.
If sWhereClause = " Where " Then
sWhereClause = sWhereClause & BuildCriteria(.Name, dbtext, .Text)
Else
sWhereClause = sWhereClause & " and " & BuildCriteria(.Name, dbtext, .Text)
End If
End Select
End With
Next ctl
'Set the forms recordsource equal to the new
'select statement.
Me.txtSQL = sSQL & sWhereClause
Me.RecordSource = sSQL & sWhereClause
Me.Requery
End Sub
Speichern Sie das Formular, und öffnen Sie es dann in der Formularansicht.
Beachten Sie, dass beim Klicken auf die Befehlsschaltfläche Suchen im Textfeld txtSQL die Abfrage angezeigt wird, die anhand der Werte im Kundenformular erstellt wurde. Außerdem wurde das Kundenformular erneut abgewarteschlangen, sodass es die Ergebnisse der neuen SQL-Zeichenfolge widerspiegelt.
References
Wenn Sie weitere Informationen zur BuildCriteria-Methode benötigen, klicken Sie im Visual Basic-Editor im Menü Hilfe auf Microsoft Visual Basic-Hilfe, geben Sie buildcriteria-Methode im Office-Assistenten oder im Antwort-Assistenten ein, und klicken Sie dann auf Suchen, um das Thema anzuzeigen.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Feedback senden und anzeigen für