语 法:
表达式.BuildCriteria (Field、 FieldType、 Expression)
expression:表示 Application 对象的变量。
参 数:
名称 必需/可选 数据类型 说明
Field 必需 String 要为其定义条件的字段。
FieldType 必需 Integer 固有常量,指示字段的数据类型。 可以设置到 DAO DataTypeEnum 值中的一个。
Expression 必需 String 一个字符串表达式,它标识要进行语法分析的条件。
返回值
String
备 注:
BuildCriteria 方法使您可以轻松地构造基于用户输入筛选条件。 它分析 表达式 参数的方式与在查询设计网格中按窗体筛选或按窗体服务器筛选模式输入表达式时 分析表达式 的方式相同。
例如,在"订单"表上创建查询的用户可能通过设置"订购日"字段的条件,将 结果集 限制为 1995 年 1 月 1 日 之后的订单。 用户可以在 orderDate 字段下的"条件"行中输入如下表达式:
1-1-95
Microsoft Access 会自动对这个表达式进行语法分析并返回以下表达式:
#1/1/95#
BuildCriteria 方法提供相同的分析从 Visual Basic 代码。 例如,若要返回之前正确分析字符串,可以提供 BuildCriteria 方法的下列参数:
Dim strCriteria As String
strCriteria = BuildCriteria("OrderDate", dbDate, ">1-1-95")
由于需要以正确分析的形式提供 Filter 属性的条件,因此可以使用 BuildCriteria 方法来构造一个正确分析的字符串。
BuildCriteria 方法用于构造具有多个条件的字符串,如果这些条件是指相同的字段。 例如,可以使用具有以下参数的 BuildCriteria 方法构造一个字符串,该字符串具有与 orderDate 字段相关的多个 条件:
strCriteria = BuildCriteria("OrderDate", dbDate, ">1-1-95 and <5-1-95")
此示例返回以下条件字符串:
OrderDate>#1/1/95# And orderDate<#5/1/95#
但是,如果要构造一个引用多个字段的条件字符串,您必须创建各字符串并将它们连接起来。 例如,如果要构造一个筛选器以显示运费少于 50 美元的订单放在 1-1-95 后记录的条件,您需要使用两次 BuildCriteria 方法,并连接结果字符串的结果。
示 例:
下面的示例提示用户输入产品名称的前几个字母,然后用 BuildCriteria 方法来构造基于用户输入的条件字符串。 接下来,此过程提供此字符串作为参数的产品窗体的 Filter 属性。 最后,设置 FilterOn 属性以应用筛选器。
Sub SetFilter()
Dim frm As Form, strMsg As String
Dim strInput As String, strFilter As String
' 在form视图中打开Products表单.
DoCmd.OpenForm "Products"
' 返回指向Products窗体的窗体对象变量.
Set frm = Forms!Products
strMsg = "输入产品名称的一个或多个字母 " _
& "followed by an asterisk."
' 提示用户输入.
strInput = InputBox(strMsg)
' 建立标准的字符串.
strFilter = BuildCriteria("ProductName", dbText, strInput)
' 设置Filter属性以应用Filter.
frm.Filter = strFilter
' 设置FilterOn属性;表单现在显示过滤后的记录.
frm.FilterOn = True
End Sub