VBA中的验证规则以确定文本的长度

时间:2018-11-25 17:52:48

标签: vba ms-access validationrule

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

  • 内部有4个字符
  • 外部具有4或7或8个字符

我想根据确定电话号码类型的组合框来更改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

谢谢。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

我要求的代码

If me.combo.value = "enteral"  then Me.field.validationrule ="Is Null OR Like """"" Elseif me.combo.value = "extetnal" then.   Me.field.validationRule="Is Null OR Like """" OR Like """"  OR Like """""
End if.   

来源 https://www.officena.net/ib/topic/87200-التحكم-بخاصية-قاعدة-التحقق-من-الصحة-validationrule-لمربع-نص-برمجياً-vba/