我在包含搜索项的表单上有一个组合框。用户选择一个搜索项,并查找包含数字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