我在包含搜索項的表單上有一個組合框。用戶選擇一個搜索項,並查找包含數字X的表格。如果類別等於字符串'PHYS',則在另一個表格中查找X的RVU(一個數字)。我使用嵌套的DLOOKUP語句查找數字X,然後使用數字X和字符串條件查找RVU。這裏是我的代碼:帶有文本和嵌套DLOOKUP條件的MS Access DLOOKUP
FH_array(0) = Val(Nz(DLookup("[RVU]", "[FORES IP Picker]", "[IP]= " & Val(Nz(DLookup("[FORES]", "[IP Number Xwalk]", "[Reference Name] = '" & Me.Ref_Name & "'"), 0))), ""))
我沒有運氣,所以我把它弄壞了下來調試:
a = Val(Nz(DLookup("[FORES]", "[IP Number Xwalk]", "[Reference Name] = '" & Me.Ref_Name & "'"), 0))
Debug.Print "a:"; a 'returns value 279
aa = Val(nz(DLookup("[RVU]", "[FORES IP Picker]", "[IP] = " & a & " and [Cost Category] = 'PHYS')))
Debug.Print "aa:"; aa
我對變量AA線得到一個語法錯誤。如果我從
aa = DLookup("[RVU]", "[FORES IP Picker]", "[IP] = " & a & " and [Cost Category] = 'PHYS')
改變了代碼
aa = DLookup("[RVU]", "[FORES IP Picker]", "[Cost Category] = 'PHYS'" And "[IP] = " & a)
我得到一個運行時錯誤13類型不匹配
所有的變量聲明爲變體,並呼籲正確。數組FH_array大小正確。我從另一個執行相同類型的嵌套DLOOKUP的數據庫複製此代碼,但它只有一個標準,因此可以工作。我無法弄清楚我錯過了什麼語法,或者類型不匹配是爲了讓它起作用。
@HansUp第一的結果是'[IP] = 279 [費用類別] =「PHYS''和第二的結果是錯誤類型13 – 2014-10-27 17:14:32