如果要根據用戶的決定來更改運算的 criteria 參數(shù),可以指定來自窗體上控件的條件。例如,可以指定來自于“雇員”表中含有所有雇員姓名的列表框控件的 criteria 參數(shù)。
若要指定來自窗體上控件的文本條件,可以在 criteria 參數(shù)中包含引用該控件的表達式。該表達式應該和字符串表達式分開,這樣 Microsoft Access 在執(zhí)行相應運算之前將首先計算控件表達式,并將它和字符串表達式的其余部分相連接。
除了要將整個字符串表達式括在雙引號 (") 中以外,還必須確保字符串表達式中的文本條件括在單引號 (') 中。引號必須位于引用窗體上控件的表達式兩側的字符串中。
注釋 單引號向 Microsoft Access 標明 criteria 參數(shù)在字符串中包含了字符串。
下面的示例基于雇員的姓名,在“雇員”表上完成了查閱操作,并返回雇員所居住的地區(qū)。條件由“雇員”窗體上名為“姓氏”的列表框控件當前值決定。注意單引號的位置。
=DLookup("[Region]", "Employees", "[LastName] = '" _
& Forms!Employees!LastName & "'")
如控件的當前值為 King,則在 Microsoft Access 計算了表達式的值并將字符串連接起來后,下面的 criteria 參數(shù)將傳至 DLookup 函數(shù):
"[LastName] = 'King'"
切記,在字符串連接之后,包含條件參數(shù)的整個字符串也必須括在雙引號中。
也可以在 criteria 參數(shù)中包含代表文本字符串的變量。變量應該和字符串表達式分開,這樣 Microsoft Access 將首先計算變量,然后再和字符串表達式的其余部分相連接。文本字符串必須括在單引號或雙引號中。
下面的示例顯示如何一個構建 criteria 參數(shù),該參數(shù)包含代表文本字符串的變量:
Dim strLastName As String
Dim varResult As Variant
strLastName = "King"
varResult = DLookup("[EmployeeID]", "Employees", "[LastName] = '" _
& strLastName & "'")