VBA 中的验证规则,用于确定文本的长度

Validation Rule in VBA to determine the length of text

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

我想根据确定 phone 数字类型的组合框更改 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

提前致谢。

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

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

我要的代码

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/