全部显示

来自窗体上控件的文本条件

   

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

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

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

注意  单引号向 Microsoft Access 标明 criteria 参数在字符串中包含了字符串。

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

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

如控件的当前值为 King,则在 Microsoft Access 计算了表达式的值并将字符串连接起来后,下面的 criteria 参数将传至 DLookup 函数:

"[LastName] = 'King'"

切记,在字符串连接之后,包含条件参数的整个字符串也必须括在双引号中。

提示   若要解决 criteria 参数中表达式的错误,最好将表达式拆分为较小的组件,并在“立即”窗口中逐个测试。当所有的组件都能正常工作时,再将它们组合在一起,直到整个表达式能够正常工作为止。

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

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

Dim strLastName As String
Dim varResult As Variant

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