如何在访问表单上的文本框的验证规则中使用DLookup

时间:2009-11-03 13:49:42

标签: ms-access

我正在尝试将DLookup用于Access中的表单上的TextBox的ValidationRule。

根据发现的例子   MSDN 我用了

dlookup("ABKUERZUNG", "tblABKUERZUNG", "ABKUERZUNG=[Forms]![frmMutBetriebspunkt]![BP_ABKUERZUNG]") is null

哪个不起作用:您输入的表达式包含无效语法

现在,如果有人知道这种无效语法是什么以及在哪里,我将不胜感激。

由于 雷

编辑:纠正错误'到'(这不是问题的原因)

3 个答案:

答案 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