验证规则忽略 return 函数的 VBA 值
Validation rule disregards return value of VBA function
我有一个 VBA 函数,它根据输入的一个参数 returns 布尔值 (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 中看到该函数确实被调用了,并且它 returns 正如预期的那样正确和错误,但出于某种原因,无论函数实际上是什么 returns,Access 仍然将 [My Field] 的值视为无效(注意:[My Field] 是一个没有输入掩码的文本字段)。
那么,我必须怎么做才能让 VBA 函数返回的 'True' 值在我的验证规则中注册为有效值?
我使用的是 Access 2010。
为其他遇到此问题的人解决了这个问题。与 Access 如何存储 True 和 False 有关。
因此,使用
MyFunction([My Field]) = -1
验证规则帮我解决了这个问题。
我有一个 VBA 函数,它根据输入的一个参数 returns 布尔值 (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 中看到该函数确实被调用了,并且它 returns 正如预期的那样正确和错误,但出于某种原因,无论函数实际上是什么 returns,Access 仍然将 [My Field] 的值视为无效(注意:[My Field] 是一个没有输入掩码的文本字段)。
那么,我必须怎么做才能让 VBA 函数返回的 'True' 值在我的验证规则中注册为有效值?
我使用的是 Access 2010。
为其他遇到此问题的人解决了这个问题。与 Access 如何存储 True 和 False 有关。
因此,使用
MyFunction([My Field]) = -1
验证规则帮我解决了这个问题。