Freigeben über


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.