Application.BuildCriteria-Methode (Access)
Die BuildCriteria-Methode gibt eine analysierte Kriterienzeichenfolge zurück, wie sie im Abfrageentwurfsraster im Modus Nach Formular filtern oder Serverfilter nach Formular angezeigt wird. Beispielsweise können Sie die Filter - oder ServerFilter-Eigenschaft eines Formulars basierend auf unterschiedlichen Kriterien des Benutzers festlegen. Verwenden Sie die BuildCriteria-Methode , um das Zeichenfolgenausdrucksargument für die Filter - oder ServerFilter-Eigenschaft zu erstellen. String.
Syntax
Ausdruck. BuildCriteria (Field, FieldType, Expression)
expression Eine Variable, die ein Application-Objekt darstellt.
Parameter
Name | Erforderlich/Optional | Datentyp | Beschreibung |
---|---|---|---|
Feld | Erforderlich | String | Das Feld, für das Sie Kriterien definieren möchten. |
FieldType | Erforderlich | Integer | Eine systeminterne Konstante, die den Datentyp des Felds angibt. Kann auf einen der DAO-Werte DataTypeEnum festgelegt werden. |
Ausdruck | Erforderlich | String | Ein Zeichenfolgenausdruck, der die zu analysierenden Kriterien angibt. |
Rückgabewert
String
Hinweise
Mit der BuildCriteria-Methode können Sie ganz einfach Kriterien für einen Filter basierend auf Benutzereingaben erstellen. Das Ausdrucksargument wird auf die gleiche Weise analysiert, wie der Ausdruck analysiert würde, wenn er im Abfrageentwurfsraster im Modus "Nach Formular filtern " oder " Serverfilter nach Formular " eingegeben worden wäre.
Beispielsweise kann ein Benutzer, der eine Abfrage für eine Orders-Tabelle erstellt, das Resultset auf Bestellungen beschränken, die nach dem 1. Januar 1995 aufgegeben wurden, indem kriterien für ein OrderDate-Feld festgelegt werden. Der Benutzer kann einen Ausdruck wie den folgenden in die Zeile Kriterien unterhalb des Felds OrderDate eingeben:
1-1-95
Dieser Ausdruck wird von Microsoft Access automatisch analysiert. Der folgende Ausdruck wird zurückgegeben:
#1/1/95#
Die BuildCriteria-Methode ermöglicht es, Ausdrücke in Visual Basic-Code auf dieselbe Weise zu analysieren. Damit z. B. die obige, richtig analysierte Zeichenfolge zurückgegeben wird, können Sie die folgenden Argumente an die BuildCriteria-Methode übergeben:
Dim strCriteria As String
strCriteria = BuildCriteria("OrderDate", dbDate, ">1-1-95")
Da Sie Kriterien für die Filter-Eigenschaft in ordnungsgemäß analysierter Form angeben müssen, können Sie die BuildCriteria-Methode verwenden, um eine ordnungsgemäß analysierte Zeichenfolge zu erstellen.
Verwenden Sie die BuildCriteria-Methode , um eine Zeichenfolge mit mehreren Kriterien zu erstellen, wenn diese Kriterien auf dasselbe Feld verweisen. Sie können beispielsweise die BuildCriteria-Methode mit den folgenden Argumenten verwenden, um eine Zeichenfolge mit mehreren Kriterien zu erstellen, die sich auf das Feld OrderDate beziehen:
strCriteria = BuildCriteria("OrderDate", dbDate, ">1-1-95 and <5-1-95")
In diesem Beispiel wird die folgende Kriterienzeichenfolge zurückgegeben:
OrderDate>#1/1/95# And OrderDate<#5/1/95#
Wenn Sie jedoch eine Kriterienzeichenfolge erstellen möchten, die auf mehrere Felder verweist, müssen Sie die Zeichenfolgen erstellen und selbst verketten. Wenn Sie beispielsweise Kriterien für einen Filter erstellen möchten, um Datensätze für Bestellungen anzuzeigen, die nach 1-1-95 aufgegeben wurden und für die fracht kleiner als 50 USD ist, müssen Sie die BuildCriteria-Methode zweimal verwenden und die resultierenden Zeichenfolgen verketten.
Beispiel
Im folgenden Beispiel wird der Benutzer aufgefordert, die ersten Buchstaben eines Produktnamens einzugeben und dann die BuildCriteria-Methode zu verwenden, um eine Kriterienzeichenfolge basierend auf der Benutzereingabe zu erstellen. Als Nächstes stellt die Prozedur diese Zeichenfolge als Argument für die Filter-Eigenschaft eines Products-Formulars bereit. Zum Schluss wird die Filter-Eigenschaft so festgelegt ist, dass der Filter angewendet wird.
Sub SetFilter()
Dim frm As Form, strMsg As String
Dim strInput As String, strFilter As String
' Open Products form in Form view.
DoCmd.OpenForm "Products"
' Return Form object variable pointing to Products form.
Set frm = Forms!Products
strMsg = "Enter one or more letters of product name " _
& "followed by an asterisk."
' Prompt user for input.
strInput = InputBox(strMsg)
' Build criteria string.
strFilter = BuildCriteria("ProductName", dbText, strInput)
' Set Filter property to apply filter.
frm.Filter = strFilter
' Set FilterOn property; form now shows filtered records.
frm.FilterOn = True
End Sub
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.