Правило валидации в VBA для определения длины текста
У меня есть форма для записи телефонных номеров, которые бывают двух видов:
- Внутренний имеет 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 ответа
Решение
Вам не нужно менять правило проверки. Попробуйте что-то вроде этого:
([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.