Свойство ToggleButton.ValidationText (Access)

Используйте свойство ValidationText , чтобы указать сообщение, отображаемое пользователю при вводе данных, которые нарушают параметр ValidationRule для записи, поля или элемента управления. Для чтения и записи, String.

Синтаксис

expression. ValidationText

Выражение Переменная, представляющая объект ToggleButton .

Замечания

Введите выражение для параметра свойства ValidationRule и текст для параметра свойства ValidationText . Максимальная длина параметра свойства ValidationRule составляет 2048 символов. Максимальная длина параметра свойства ValidationText составляет 255 символов.

Для элементов управления можно задать для свойства ValidationRule любое допустимое выражение. Для правил проверки полей и записей выражение не может содержать определяемые пользователем функции, агрегатные или агрегатные функции предметной области, функцию Eval , метод CurrentUser или ссылки на формы, запросы или таблицы. Кроме того, правила проверки полей не могут содержать ссылки на другие поля. Для записей выражения могут включать ссылки на поля в этой таблице.

Для полей и записей таблицы эти свойства также можно задать в Visual Basic с помощью свойства DAO ValidationRule .

Примечание.

Свойства ValidationRule и ValidationText не применяются к элементам управления check box, option button или toggle button, если они находятся в группе параметров. Они применяются только к самой группе параметров.

Microsoft Access автоматически проверяет значения на основе типа данных поля; Например, Access не разрешает текст в числовом поле. Более конкретные правила можно задать с помощью свойства ValidationRule .

Если задать свойство ValidationRule, но не свойство ValidationText , access отобразит стандартное сообщение об ошибке при нарушении правила проверки. Если задать свойство ValidationText , вводимый текст будет отображаться в виде сообщения об ошибке.

Например, при добавлении записи для нового сотрудника можно ввести свойство ValidationRule , требующее, чтобы значение в поле StartDate сотрудника находилось между датой основания компании и текущей датой. Если введенная дата не находится в этом диапазоне, можно отобразить сообщение свойства ValidationText : "Дата начала указана неправильно".

При создании элемента управления путем перетаскивания поля из списка полей правило проверки поля остается в силе, хотя оно не отображается в поле свойства ValidationRule элемента управления на странице свойств. Это связано с тем, что правило проверки поля наследуется элементом управления, привязанным к этому полю.

Правила проверки элементов управления, полей и записей применяются следующим образом:

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

  • Правила проверки записей применяются при переходе к другой записи.

  • Если вы создаете правила проверки как для поля, так и для элемента управления, привязанного к полю, оба правила проверки применяются при изменении данных, а фокус покидает элемент управления.

В следующей таблице приведены примеры выражений для свойств ValidationRule и ValidationText .

Свойство ValidationRule Свойство ValidationText
<> 0 Запись должна быть ненулевым значением.
> 1000 Or Is Null Запись должна быть пустой или больше 1000.
Like "A????" Запись должна содержать 5 символов и начинаться с буквы A.
>= #1/1/96# And <#1/1/97# Запись должна быть датой в 1996 году.
DLookup("CustomerID", "Customers", "CustomerID = Forms!Customers!CustomerID") Is Null Запись должна иметь уникальный идентификатор CustomerID (агрегатные функции домена разрешены только для проверки на уровне формы).

Если вы создаете правило проверки для поля, Access обычно не разрешает хранить в поле значение NULL . Если вы хотите разрешить значение NULL , добавьте "Is Null" в правило проверки, как в , "<> 8 Or Is Null" и убедитесь, что для свойства Required задано значение Нет.

Нельзя задать правила проверки полей или записей для таблиц, созданных за пределами Access (например, dBASE, Paradox или SQL Server). Для таких таблиц можно создавать правила проверки только для элементов управления.

Пример

В следующем примере создается правило проверки для поля, которое позволяет вводить только значения более 65. Если введено число меньше 65, отображается сообщение. Свойства задаются с помощью функции SetFieldValidation .

Dim strTblName As String, strFldName As String 
Dim strValidRule As String 
Dim strValidText As String, intX As Integer 
 
strTblName = "Customers" 
strFldName = "Age" 
strValidRule = ">= 65" 
strValidText = "Enter a number greater than or equal to 65." 
intX = SetFieldValidation(strTblName, strFldName, _ 
 strValidRule, strValidText) 
 
Function SetFieldValidation(strTblName As String, _ 
 strFldName As String, strValidRule As String, _ 
 strValidText As String) As Integer 
 
 Dim dbs As Database, tdf As TableDef, fld As Field 
 
 Set dbs = CurrentDb 
 Set tdf = dbs.TableDefs(strTblName) 
 Set fld = tdf.Fields(strFldName) 
 fld.ValidationRule = strValidRule 
 fld.ValidationText = strValidText 
End Function

В следующем примере функция SetTableValidation используется для установки проверки на уровне записи, чтобы убедиться, что значение в поле EndDate приходит после значения в поле StartDate .

Dim strTblName As String, strValidRule As String 
Dim strValidText As String 
Dim intX As Integer 
 
strTblName = "Employees" 
strValidRule = "EndDate > StartDate" 
strValidText = "Enter an EndDate that is later than the StartDate." 
intX = SetTableValidation(strTblName, strValidRule, strValidText) 
 
Function SetTableValidation(strTblName As String, _ 
 strValidRule As String, strValidText As String) _ 
 As Integer 
 
 Dim dbs As Database, tdf As TableDef 
 
 Set dbs = CurrentDb 
 Set tdf = dbs.TableDefs(strTblName) 
 tdf.ValidationRule = strValidRule 
 tdf.ValidationText = strValidText 
End Function

Поддержка и обратная связь

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