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