У меня есть непрерывная форма в Access 2003, на которой мне нужно выполнить проверку с использованием регулярных выражений в текстовых полях. Я хочу вызвать проверку нажатием кнопки. Я хочу использовать ограничения, аналогичные условному форматированию в vba, для регулярных выражений в текстовых полях, используемых в форме.

Пожалуйста, укажите указатели, как это сделать. Если вы делаете это с помощью фрагмента кода, попросите поделиться.

0
Ashu 25 Июл 2013 в 21:49

1 ответ

Лучший ответ

Условное форматирование не поддерживает Regex напрямую. Вам нужно будет создать пользовательскую функцию (UDF) в VBA. Например:

Function FormatSalary(varField As Variant) As Boolean
    FormatSalary = (varField) > 20000
End Function

Эта функция будет использовать Regex перед возвратом True или False. В правиле условного форматирования для поля вы должны использовать Expression is и ввести:

FormatSalary([Salary])

Обратите внимание, что перед этим нет знака равенства.

Я считаю, что вы можете сделать это программно, нажав кнопку, работая с коллекцией FormatConditions в VBA. Однако я подозреваю, что вам может потребоваться переключать форму назад и вперед в Представление дизайна . (Я не пробовал это в последнее время.)

1
Andy G 25 Июл 2013 в 23:39
Я пробовал использовать коллекцию FormatConditions в VBA. Я сослался на URL-адрес msdn.microsoft.com / en-us / library / office /…, но безуспешно.
 – 
Ashu
25 Июл 2013 в 23:18
Спасибо Энди ... это должно решить большинство моих проблем. Hansup, если это не решит мою проблему полностью, я поделюсь кодом, который я пытался использовать, с набором условий форматирования.
 – 
Ashu
25 Июл 2013 в 23:39