验证规则忽略VBA函数的返回值

时间:2015-02-13 23:54:50

标签: validation access-vba ms-access-2010

我有一个VBA函数,它根据输入的一个参数返回布尔值(true / false)。我试图将此功能插入Access表单上的验证规则。

验证规则:

MyFunction ([My Field])

VBA中的MyFunction:

Public Function MyFunction(str as String) as Boolean
    MyFunction=Len(str)>4 'Just as an example, the actual function is a bit more complex, but still returns true when expected and false when expected.  This has been observed when stepping through the actual VBA code
End Function

我可以在VBA中看到该函数实际上被调用,并且它按预期返回true和false,但由于某种原因,无论函数实际返回什么,Access仍然看到[My Field]的值无效(注意:[我的字段]是没有输入掩码的文本字段。)

那么,我该怎样做才能获得真实的'我的VBA函数返回的值,以便在我的验证规则中注册为有效值?

我正在使用Access 2010。

1 个答案:

答案 0 :(得分:1)

为其他任何陷入困境的人解决这个问题。与Access如何存储True和False有关。

所以,使用

MyFunction([My Field]) = -1

验证规则为我解决了这个问题。