如果要根据用户的决定更改操作的_criteria_参数, 可以指定条件来自窗体上的控件。 例如,可以指定来自于含有“雇员ID”的文本框控件的 criteria 参数。
若要指定来自窗体上控件的数值条件, 可以在_criteria_参数中包含引用该控件的表达式。 此控件表达式应与字符串表达式分开, 这样 Access 将先计算控件表达式, 并将其与字符串表达式的其余部分相连接, 然后再执行相应的操作。
假设要在“雇员”表上执行 DLookUp 函数,根据“雇员ID”来查找雇员的姓名。 在下面的示例中,条件由“订单”窗体上“雇员ID”控件的当前值来决定。 引用控件的表达式在每次调用函数时都进行计算,这样如果控件的值更改,条件参数将反映出所做的更改。
=DLookup("[LastName]", "Employees", "[EmployeeID] = " _
& Forms!Orders!EmployeeID)
如果 "雇员 Id" 字段的当前值是 7, 则传递给DLookup函数的_criteria_参数为:
"[EmployeeID] = 7"
提示:
要解决 criteria 参数中表达式的错误,请将该表达式拆分为较小的部分,并在即时窗口中逐一测试每个部分。 当所有的部分都正常运行时,再将它们逐一重新合并在一起,直到整个表达式能够正常运行为止。
您还可以在_criteria_参数中包含一个代表数值的变量。 变量应与字符串表达式分开, 以便 Access 先计算变量, 然后将其与字符串表达式的其余部分相连接。
下面的示例演示如何构建包含变量的_criteria_参数:
Dim intNum As Integer
Dim varResult As Variant
intNum = 7
varResult = DLookup("[LastName]", "Employees", _
"[EmployeeID] = " & intNum)