首页 > 解决方案 > VBA中的验证规则来确定文本的长度

问题描述

我有一个记录电话号码的表格,它有两种:

我想根据确定电话号码类型的组合框来更改 ValidationRule。

我尝试在表单属性中使用 ValidationRule,但它不适用于IIf公式或依赖于另一个文本框或组合框的值。

所以我做了这段代码,但它不起作用:

If me.combo.value = "internal" then 
    Me.field.validationrule = "Len([field]) = 4"
ElseIf Me.combo.value = "external" Then 
    Me.field.validationrule = "Len([field]) = 4 or Len([field]) = 7 or Len([field]) = 8"
End If

提前致谢。

标签: vbams-accessvalidationrule

解决方案


您不必更改验证规则。尝试这样的事情:

([combo]="internal" And Len([field])=4) Or ([combo]="external" And (Len([field])=4 Or Len([field])=7 Len([field])=8))

推荐阅读