来自窗体控件的文本条件

如果要根据用户的决定来更改运算的 criteria 参数,可以指定来自窗体上控件的条件。 例如,可以指定来自于“雇员”表中含有所有雇员姓名的列表框控件的 criteria 参数。

若要指定来自窗体上控件的文本条件,可以在 criteria 参数中包含引用该控件的表达式。 此表达式应与字符串表达式分开,以便 Access 将首先计算控件表达式,并在执行相应操作之前将其与字符串表达式的其余部分连接。

除了要将整个字符串表达式括在双引号 (") 中以外,还必须确保字符串表达式中的文本条件括在单引号 (') 中。 引号必须位于引用窗体上控件的表达式两侧的字符串中。

注意

单引号向 Access 指示 criteria 参数在字符串中包含一个字符串。

下面的示例基于雇员的姓氏,在 Employees 表上执行查阅操作,并返回雇员所居住的地区。 条件由 Employees 窗体上名为 LastName 的列表框控件的当前值决定。 注意单引号的位置。

=DLookup("[Region]", "Employees", "[LastName] = '" _ 
 & Forms!Employees!LastName & "'")

如果控件的当前值为 King,则 Access 计算表达式并连接字符串后,以下 criteria 参数将传递给 DLookup 函数:

"[LastName] = 'King'"

请记住,构成 criteria 参数的整个字符串也必须在串联字符串后用双引号引起来。

提示

要解决 criteria 参数中表达式的错误,请将该表达式拆分为较小的部分,并在即时窗口中逐一测试每个部分。 当所有的部分都正常运行时,再将它们逐一重新合并在一起,直到整个表达式能够正常运行为止。

也可以在 criteria 参数中包含代表文本字符串的变量。 变量应与字符串表达式分开,以便 Access 首先计算变量,然后将其与字符串表达式的其余部分连接。 文本字符串必须括在单引号或双引号中。

下面的示例说明如何一个构建 criteria 参数,该参数包含代表文本字符串的变量:

Dim strLastName As String 
Dim varResult As Variant 
 
strLastName = "King" 
varResult = DLookup("[EmployeeID]", "Employees", "[LastName] = '" _ 
 & strLastName & "'")

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。