Запись условия на значение поля

Как видите, применять условие на значение к полю достаточно легко. Но формирование правила требует больших умственных усилий. Для получения желаемого результата вы должны сделать первый шаг в порой причудливый мир языка SQL.

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

Примечание

Программа Access применяет правило верификации, только если в поле есть данные. Если по­ле остается пустым, программа принимает его без всякой проверки. Если вам не нравится та­кой подход, задайте в свойстве Обязательное полезначение Да, чтобы добиться обязатель­ного заполнения поля, как описано в разд. "Запрет незаполненных полей" ранее в этой главе.

Проверка допустимости числовых значений

Для числовых данных самый распространенный вариант проверки — принадлежность вве­денного значения определенному диапазону. Другими словами, вы проверяете, больше или меньше введенное число другого значения. Ваши инструменты в этом случае — знаки опе­раций сравнения < и >. В табл. 4.4 приведено несколько часто используемых примеров.

Таблица 4.4. Условия на значение для чисел

Сравнение Пример условия Описание
Меньше чем <100 Значение должно быть меньше 100
Больше чем >0 Значение должно быть больше 0
Не равно < >42 Значение может быть любым, но не рав­ным 42
Меньше или равно <=100 Значение должно быть не больше 100
Больше или равно   Значение должно быть не меньше 0
Равно =42 Значение должно быть 42. (Много ли смысла в необходимости ввода этого значения кем-то?)
Между Between 0 and 100 Значение должно быть 0,100 или любое промежуточное значение

Проверка допустимости дат

Как и в случае числовых данных, проверка допустимости дат, как правило, включает про­верку принадлежности даты определенному диапазону. Ваша задача — убедиться в том, что у вашей даты формат, подходящий для условия на значение. Если вы используете условие >Jan 30, 2007 (> 30 Янв, 2007), программа Access приходит в крайнее замешательство, т. к. не понимает, что текст (Jan 30, 2 007) предназначается для представления даты. Точ­но так же, если вы проверяете условие >1/30/07, Access предполагает, что числа справа от знака сравнения — часть выражения с последовательными операциями деления.

Для решения этой проблемы используйте универсальную синтаксическую форму пред­ставления дат программы Access, которая выглядит следующим образом: #1/30/2007#

В универсальную синтаксическую запись для представления дат компоненты включают­ся в порядке месяц/день/год и обрамляются с обеих сторон символами #. С помощью это­го синтаксиса вы можете использовать условие, такое как >#1/30/2007#, требующее, чтобы

вводимая дата была больше (наступала позже), чем January 30, 2007 (30 января 2007 January 31, 2007 отвечает данному требованию, а любая дата в 2006 г. — нет.

Универсальная синтаксическая запись может включать и время, например: #1/30/2007 5:30РМ#

Примечание

При сравнении двух дат программа Access принимает во внимание сведения о времени. Дата #1/30/2007# не содержит данных о времени, поэтому она интерпретируется как наступившая в самую первую секунду суток. В результате Access считает, что значение #1/30/2007 8:00 АМ# больше, поскольку наступает на 8 часов позже.

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

■ Date ( ) — вычисляет текущую дату (без какой-либо информации о времени, поэтому она
вычисляется как первая секунда текущего дня);

■ Now ( ) — вычисляет текущий момент времени, включая дату и время.

Примечание

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

В табл. 4.5 приведено несколько примеров.

Таблица 4.5. Условия на значения для дат

Наши рекомендации