我有一个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。
答案 0 :(得分:1)
为其他任何陷入困境的人解决这个问题。与Access如何存储True和False有关。
所以,使用
MyFunction([My Field]) = -1
验证规则为我解决了这个问题。