我正在尝试将DLookup用于Access中的表单上的TextBox的ValidationRule。
根据发现的例子 MSDN 我用了
dlookup("ABKUERZUNG", "tblABKUERZUNG", "ABKUERZUNG=[Forms]![frmMutBetriebspunkt]![BP_ABKUERZUNG]") is null
哪个不起作用:您输入的表达式包含无效语法。
现在,如果有人知道这种无效语法是什么以及在哪里,我将不胜感激。
由于 雷
编辑:纠正错误'到'(这不是问题的原因)
答案 0 :(得分:2)
EDITED
代码:
If IsNull(dlookup( _
"ABKUERZUNG", "tblABKUERZUNG", _
"ABKUERZUNG=[Forms]![frmMutBetriebspunkt]![BP_ABKUERZUNG]")) Then
验证规则:
dlookup("ABKUERZUNG", "tblABKUERZUNG", "ABKUERZUNG=[Forms]![frmMutBetriebspunkt]![BP_ABKUERZUNG]")=Null
答案 1 :(得分:2)
如果在代码中使用函数,则参数分隔符是逗号(,),但在GUI编辑器中它是分号(;)。这可能是您的语法错误。
所以试试:
=Dlookup("field";"table";"where")
答案 2 :(得分:0)
您可能希望隔离为过滤器创建的字符串,因此您可以在即时窗口中检查该值是否符合预期。
dim sFilter as String
sFilter = "ABKUERZUNG='" & [Forms]![frmMutBetriebspunkt]![BP_ABKUERZUNG] & "'"
dlookup("ABKUERZUNG", "tblABKUERZUNG", sFilter) is null