Правило валидации в VBA для определения длины текста - PullRequest
0 голосов
/ 25 ноября 2018

У меня есть форма для записи телефонных номеров двух видов:

  • Внутренний имеет 4 символа
  • Внешний имеет4, 7 или 8 символов

Я хочу изменить ValidationRule в соответствии с Combobox, который определяет тип телефонных номеров.

Я пытался использовать 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 голосов
/ 26 ноября 2018

Код для которого я спрашиваю

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/

0 голосов
/ 25 ноября 2018

Вам не нужно менять правило проверки.Попробуйте что-то вроде этого:

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