Создание условия на значение для проверки данных в поле

Применяется к
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Правила проверки позволяют выполнять проверку данных по мере их ввода в базы данных Access для настольных систем. Для правильного форматирования правил вы можете использовать построитель выражений. Правила проверки можно задавать в конструкторе таблиц или в режиме таблицы. В Access существуют правила проверки трех типов.

  1. Правило проверки поля Правило проверки полей можно использовать для указания критерия, которому должны соответствовать все допустимые значения полей. Не указывайте текущее поле в качестве части правила, если вы не используете это поле в функции. Для ограничения типов символов, которые можно вводить в поле, удобно использовать маску ввода. Например, для полей даты можно задать правило проверки, запрещающее указывать прошедшие даты.

Краткие примеры

Запретить значения даты в прошлом: >=Date()

Общепринятый формат электронной почты: имеет значение NULL ИЛИ ((Как "*?@?*.? *") AND (не нравится "*[ ,;]*"))

Число меньше или кваль к пяти: <=5

Поле валюты не может быть отрицательным: >=0

Ограничение длины символов в строке: Len([StringFieldName])<100

Правило проверки поля в конструкторе таблиц Access

  1. Правило проверки записей Можно использовать правило проверки записей, чтобы указать условие, которому должны соответствовать все допустимые записи. С помощью него вы можете сравнивать значения в разных полях. Например, для записи с двумя полями дат можно потребовать, чтобы значения одного поля всегда предшествовали значениям другого поля (то есть чтобы дата начала предшествовала дате окончания).

Краткие примеры

Убедитесь, что дата окончания не наступает раньше даты начала: [Дата окончания]>=[Дата начала]

Введите требуемую дату, которая наступает не более чем через 30 дней после даты заказа: [RequiredDate]<=[OrderDate]+30

Правило проверки таблицы в конструкторе таблиц Access.

  1. Проверка формы Можно использовать свойство Правило проверки элемента управления в форме, чтобы указать условие, которому должны соответствовать все значения, входные для этого элемента управления. Свойство Правило проверки элемента управления работает аналогично правилу проверки поля. Обычно правило проверки в форме используется вместо правила проверки поля, если оно относится только к данной форме, а не ко всей таблице, независимо от места использования.

В этой статье

Общие сведения

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

После ввода данных Access проверяет их на соответствие правилу проверки. Если данные недопустимы, отобразится сообщение.

В Access есть несколько способов ограничения ввода данных.

  • Типы данных Каждое поле таблицы имеет тип данных, который ограничивает возможность ввода пользователями. Например, в поле с типом данных "Дата/время" можно ввести только дату и время, в поле с типом данных "Денежный" — только денежные данные и т. д.
  • Свойства поля Некоторые свойства поля ограничивают ввод данных. Например, свойство Размер поля ограничивает количество вводимых данных.
    Можно также использовать свойство Правило проверки, чтобы ограничить ввод строго определенными значениями, и свойство Сообщение об ошибке, чтобы предупреждать пользователей об ошибках. Например, ввод правила, например >100 и <1000 , в свойстве Правило проверки заставляет пользователей вводить значения от 100 до 1000. Такое правило, как [EndDate]>=[StartDate] заставляет пользователей вводить конечную дату, которая наступает на начальную дату или после нее. Текст типа "Введите значения в диапазоне от 100 до 1000" или "Введите дату окончания, которая не предшествует дате начала", указанный в свойстве Сообщение об ошибке, сообщит пользователям о допущенной ошибке и о том, как ее исправить.
  • Маски ввода Вы можете использовать маску ввода для проверки данных, заставляя пользователей вводить значения определенным образом. Например, с помощью маски ввода можно разрешить вводить даты только в европейском формате (например, 2007.04.14).

Эти методы проверки данных можно использовать как вместе, так и в отдельности. Типы данных являются обязательными и предоставляют наиболее распространенные типы проверки данных.

Дополнительные сведения о типах данных, размерах полей и масках ввода см. в статье Введение в использование типов данных и свойств полей.

Типы правил проверки

Можно создать два основных типа правил проверки.

  • Правила проверки полей Используйте правило проверки полей, чтобы проверка значение, введенное в поле при выходе из поля. Например, предположим, что у вас есть поле Дата и введите >=#01/01/2010# в свойстве Правило проверки этого поля. Это правило требует, чтобы пользователи вводили дату не ранее 1 января 2010 года. Если указать дату ранее 2010 года, вы не сможете перейти к другому полю в Access, пока не исправите ошибку.
  • Правила проверки записей Используйте правило проверки записей, чтобы контролировать, когда можно сохранить запись (строку в таблице). В отличие от правила проверки поля, для правила проверки записи используются ссылки на другие поля той же таблицы. Правило проверки записи создается, если требуется сравнить значения в разных полях. Предположим, вам требуется доставить товар в течение 30 дней, и в случае если товар не будет доставлен в этот срок, необходимо возместить клиенту убытки. Вы можете определить правило проверки записей, например [RequiredDate]<=[OrderDate]+30 , чтобы кто-то не ввел дату доставки (значение в поле RequiredDate) слишком далеко в будущем.

Если вам непонятен синтаксис правил проверки, см. сведения о синтаксисе и некоторые примеры правил проверки в разделе Данные, которые можно ввести в правило проверки.

Применение правил проверки

Можно задавать правила проверки для полей таблиц и элементов управления в формах. Заданные правила проверки для таблиц применяются также при импорте данных. Чтобы добавить правила проверки в таблицу, откройте таблицу и используйте команды на вкладке Поля таблицы на ленте. Чтобы добавить правила проверки в форму, откройте форму в режиме макета и добавьте эти правила в свойства отдельных элементов управления.

Из инструкций, приведенных в разделе Добавление правила проверки в таблицу, вы узнаете, как добавлять правила проверки в поля таблицы. А в разделе Добавление правила проверки для элемента управления формы, который вы найдете ниже в этой статье, описано, как добавлять правила в свойства отдельных элементов управления.

Данные, которые можно ввести в правило проверки

Правила проверки могут содержать выражения — функции, возвращающие единственное значение. Выражение можно использовать для выполнения вычислений, обработки знаков или проверки данных. Выражение правила проверки выполняет проверку данных. Например, может проверять наличие одного значения из ряда, например "Токио" OR "Москва" OR "Париж" OR "Хельсинки" . Выражения также могут выполнять математические операции. Например, выражение <100 заставляет пользователей вводить значения меньше 100. Выражение ([ДатаЗаказа] - [ДатаДоставки]) вычисляет количество дней от даты размещения заказа до даты его исполнения.

Дополнительные сведения о выражениях см. в статье Создание выражений.

К началу страницы

Добавление правила проверки в таблицу

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

Примечание

Правила проверки не поддерживаются в таких типах полей:

  • Счетчик
  • Объект OLE
  • Вложение
  • Код репликации

Создание правила проверки поля

  1. Выберите поле, которое требуется проверить.
  2. На вкладке Поля таблицы в группе Проверка полей щелкните Проверка, а затем — Правило проверки полей.
  3. Создайте правило проверки с помощью построителя выражений. Дополнительные сведения об использовании построителя выражений см. в статье Использование построителя выражений.

Создание сообщения для отображения при вводе недопустимых данных

  1. Выберите поле, для которого требуется создать сообщение на случай ввода недопустимых значений. Поле уже должно содержать правило проверки.
  2. На вкладке Поля таблицы в группе Проверка поля щелкните Проверка, а затем — Сообщение проверки поля.
  3. Введите соответствующее сообщение. Например, если правило проверки равно >10, может появиться сообщение "Введите значение меньше 10".

Примеры правил проверки поля и сообщений см. в разделе Справочная информация о правилах проверки.

Создание правила проверки записи

  1. Откройте таблицу, в которой требуется выполнить проверку записей.
  2. На вкладке Поля таблицы в группе Проверка полей щелкните Проверка, а затем — Правило проверки.
  3. Создайте правило проверки с помощью построителя выражений. Дополнительные сведения об использовании построителя выражений см. в статье Использование построителя выражений.

Создание сообщения для отображения при вводе недопустимой записи

  1. Откройте таблицу, для которой требуется создать сообщение на случай ввода недопустимых значений. Таблица уже должна содержать правило проверки.
  2. На вкладке Поля таблицы в группе Проверка поля щелкните Проверка, а затем — Сообщение проверки.
  3. Введите соответствующее сообщение. Например, если правило проверки имеет значение [StartDate]<[EndDate], может появиться сообщение "StartDate должен предшествовать EndDate".

К началу страницы

Проверка имеющихся данных на соответствие новому правилу проверки

При добавлении правила проверки в существующую таблицу может потребоваться применить правило для проверки всех имеющихся данных на допустимость.

  1. Откройте таблицу для проверки в режиме конструктора.
    На вкладке Конструктор таблиц в группе Сервис щелкните Проверить правила проверки.
  2. Нажмите кнопку Да, чтобы закрыть сообщение и начать проверку.
  3. Если будет предложено сохранить таблицу, нажмите кнопку Да.
  4. В процессе работы могут выводиться и другие предупреждения. Прочтите инструкции в каждом из них и нажмите соответствующие кнопки Да или Нет, чтобы завершить или прекратить проверку.

К началу страницы

Добавление правила проверки в элемент управления формы

Можно использовать свойства элементов управления Правило проверки и Сообщение об ошибке для проверки данных, вводимых в элемент управления, и предупреждения пользователей о вводе недопустимых данных.

Совет

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

Элемент управления и поле таблицы, с которым он связан, могут иметь разные правила проверки. Это позволяет при необходимости установить для формы большее количество ограничений, чем для таблицы. В этом случае сначала будет применяться правило формы, а затем — правило таблицы. Если для таблицы установлено больше ограничений, чем для формы, приоритет отдается правилам, заданным для поля таблицы. Если правила являются взаимоисключающими, ввод каких-либо данных будет невозможен.

Предположим, что к полю даты в таблице применено следующее правило:

<#01/01/2010#

А затем к элементу управления формы, связанному с этим полем данных, применено другое правило:

>=#01/01/2010#

Таким образом, в поле данных необходимо вводить значения, предшествующие 2010 году, а в элементе управления формы — не ранее этого года. Согласно этим правилам нельзя ввести никакую дату.

Создание правила проверки для элемента управления

  1. Щелкните правой кнопкой мыши форму, которую требуется изменить, и выберите пункт Режим макета.

  2. Щелкните правой кнопкой мыши элемент управления, который требуется изменить, и выберите пункт Свойства для отображения окна свойств.

  3. Откройте вкладку Все и введите правило проверки в поле свойства Правило проверки.

    Совет

    Нажмите кнопку Построить для запуска построителя выражений.

    Дополнительные сведения об использовании построителя выражений см. в статье Использование построителя выражений.

  4. Введите сообщение об ошибке в поле свойства Сообщение об ошибке.

К началу страницы

Справочная информация о правилах проверки

В правилах проверки используется синтаксис выражений Access. Дополнительные сведения о выражениях см. в статье Введение в использование выражений.

Примеры правил и текста проверки

Правило проверки Текст проверки
<>0 Введите значение, отличное от нуля.
>=0 Значение не должно быть отрицательным.
-или-
Введите положительное число.
0 или >100 значение должно быть равно 0 либо быть больше 100.
BETWEEN 0 AND 1 Введите значение со знаком процента. (Для полей с числовыми значениями процентов.)
<#01/01/2007# Введите дату, предшествующую 2007 году.
>=#01/01/2007# AND <#01/01/2008# Укажите дату в 2007 году.
<Date() Дата рождения не может быть в будущем.
StrComp(UCase([LastName]),
[LastName],0) = 0
Заполните поле «Фамилия» прописными буквами.
>=Int(Now()) Ведите текущую дату.
М Or Ж Введите "М" для мужского пола, "Ж" — для женского.
LIKE "[A-Z]*@[A-Z].com" OR "[A-Z]*@[A-Z].net" OR "[A-Z]*@[A-Z].org" Введите допустимый адрес электронной почты, оканчивающийся на .com, .net или .org.
[RequiredDate]<=[OrderDate]+30 Заказ должен быть исполнен не позже чем через 30 дней.
[EndDate]>=[StartDate] Дата окончания не должна предшествовать дате начала.

Примеры синтаксиса для основных операторов правил проверки

Оператор Функция Пример
NOT Проверяет наличие противоположных значений. Используется перед любым оператором сравнения, кроме IS NOT NULL. NOT > 10 (то же, что <и =10).
В Проверяет наличие значений, равных существующим элементам списка. Значение, используемое в сравнении, должно быть списком значений, разделенных запятыми и заключенных в круглые скобки. IN ("Токио", "Париж", "Москва")
BETWEEN Проверяет принадлежность к диапазону значений. Необходимо использовать два значения для сравнения — верхний и нижний пределы — и разделять эти значения с помощью разделителя AND. ОТ 100 ДО 1000 (то же самое, что> =100 AND <=1000)
LIKE Сопоставляет образец строки с текстовым полем или полем МЕМО. LIKE "Гео*"
IS NOT NULL Требует ввода значения в поле. Результат такой же, как при задании для свойства Обязательное поле значения Да. Но если свойство Обязательное поле включено, а пользователю не удается ввести значение, в Access отображается непонятное сообщение об ошибке. Удобнее использовать в базе данных оператор IS NOT NULL и ввести информативное сообщение в свойстве Текст проверки. IS NOT NULL
AND Указывает, что все части правила проверки должны быть истинными. >= #01/01/2007# AND <=#03/06/2008#
Примечание: Вы также можете использовать И для объединения правил проверки. Например: NOT "КНР" AND LIKE "Р*".
OR Указывает, что некоторые (но не все) части правила проверки должны быть истинными. "Январь" OR "Февраль"
< Меньше.
<= Меньше или равно.
> Больше.
>= Больше или равно.
⁠=⁠ Равно.
<> Не равно.

Использование подстановочных знаков в правилах проверки

В правилах проверки можно использовать подстановочные знаки. Имейте в виду, что Access поддерживает два набора подстановочных знаков: ANSI-89 и ANSI-92. В этих стандартах используются различные наборы подстановочных знаков.

По умолчанию, для всех файлов формата ACCDB и MDB используется стандарт ANSI-89.

Можно изменить стандарт ANSI для базы данных на стандарт ANSI-92, выполнив следующие действия.

  1. На вкладке Файл выберите пункт Параметры.
  2. В диалоговом окне Параметры Access выберите пункт Конструкторы объектов.
  3. В разделе Конструктор запросов в группе Синтаксис для SQL Server (ANSI 92) установите флажок эта база данных.

Дополнительные сведения об использовании подстановочных знаков и стандартов ANSI для SQL см. в статье Справочник по подстановочным знакам.

К началу страницы