Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Свойство ValidationText используется для указания сообщения, которое будет отображаться пользователю при вводе данных, нарушающих параметр ValidationRule для записи, поля или элемента управления. Для чтения и записи, String.
Синтаксис
выражение. ValidationText
выражение Переменная, представляющая объект TextBox .
Примечания
Введите выражение для свойства ValidationRule и текст для свойства ValidationText . Максимальная длина параметра свойства ValidationRule составляет 2048 символов. Максимальная длина параметра свойства ValidationText составляет 255 символов.
Для элементов управления можно задать для свойства ValidationRule любое допустимое выражение. Для правил проверки полей и записей выражение не может содержать пользовательские функции, агрегатные функции по подмножеству или агрегатные функции, функцию Eval , метод CurrentUser , а также ссылки на формы, запросы или таблицы. Кроме того, правила проверки поля не могут содержать ссылки на другие поля. Выражения для записей могут включать ссылки на поля таблицы.
Эти свойства для полей и записей также можно задать в Visual Basic с помощью свойства DAO ValidationRule .
Microsoft Access автоматически проверяет значения на основе типа данных поля; Например, Access не разрешает вводить текст в числовом поле. Вы можете задать более конкретные правила с помощью свойства ValidationRule .
Если свойство ValidationRule задано, но не присвоено свойству ValidationText , при нарушении правила проверки будет выводиться стандартное сообщение об ошибке. Если свойство ValidationText задано, введенный текст отображается в качестве сообщения об ошибке.
Например, при добавлении записи для нового сотрудника можно ввести свойство ValidationRule , требующее, чтобы значение в поле StartDate сотрудника находилось между датой основания компании и текущей датой. Если введенная дата не входит в этот диапазон, можно отобразить сообщение свойства ValidationText : "Неверная дата начала".
Если элемент управления создается путем перетаскивания поля из списка полей, правило проверки поля остается в силе, хотя оно не отображается в поле свойства элемента управления ValidationRule на странице свойств. Это связано с тем, что правило проверки поля наследуется элементом управления, привязанным к этому полю.
Правила проверки элементов управления, полей и записей применяются следующим образом.
Правила проверки, заданные для полей и элементов управления, применяются при редактировании данных и переходе к полю или элементу управления.
Правила проверки для записей применяются при переходе к другой записи.
Если правила проверки заданы и для поля, и для элемента управления, связанного с этим полем, при редактировании данных будут применяться оба правила и фокус будет перемещаться к этому элементу управления.
В таблице ниже приведены примеры выражений для свойств ValidationRule и ValidationText .
| Свойство ValidationRule | Свойство ValidationText |
|---|---|
<> 0 |
Значение элемента не должно быть нулевым. |
> 1000 Or Is Null |
Значение должно быть пустым или превышать 1000. |
Like "A????" |
Запись должна состоять из 5 символов и начинаться с буквы А. |
>= #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 имеет значение No.
Нельзя задавать правила проверки полей или записей для таблиц, созданных вне 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 и обратная связь.