Комбинирование условий на значения

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

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

<Date( ) And >#l/l/2000#

Можно также использовать ключевое слово Or для принятия значения, удовлетворяю­щего одному из условий. В следующем правиле разрешены числа, большие 1000 или мень­шие-1000:

>1000 Or < -1000

Создание условия на значение для таблицы

Условия на значения всегда применяются к отдельному полю. Но проектировщики БД час­то нуждаются в средствах сравнения значений разных полей. Предположим, что у вас есть таблица Orders(заказы), в которой регистрируются покупки в вашем магазине по продаже фирменных носков с монограммой. В таблице Ordersвы используете два поля: DateOrdered (дата заказа) и DateShipped(дата доставки). Для того чтобы все было как следует, необхо­димо, чтобы дата из поля DateOrderedбыла более ранней, чем дата из поля DateShipped. Помимо всего прочего, как доставить изделие, прежде чем кто-то его закажет?

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

Далее приведен алгоритм создания условия на значение для таблицы.

1. В Конструкторе выберите на ленте Работа с таблицами| Конструктор→ Показать или скрыть→ Страница свойств(Table Tools | Design →Show/Hide → Property Sheet).

Справа в окне программы появляется страница с дополнительными параметрами (рис. 4.16).

Примечание

Для таблицы можно создать только одно правило верификации. Это ограничение может пока­заться проблемой, но ее легко обойти с помощью ключевого слова And (см. разд. "Комбинирование условий на значения" ранее в этой главе) и объединения того количества условий, которое вам нужно. Правило верификации может быть трудным для чтения, но при этом работать без сбоев.

 
  Комбинирование условий на значения - student2.ru

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

2. На вкладке Свойства таблицызадайте Условие на значение.

В условии на значение для таблицы можно использовать все уже известные вам ключе­вые слова. Обычно в условии для таблицы сравнивается несколько полей. Условие на значение [DateOrdered] < [DateShipped] гарантирует, что в ноле DateOrderedбо­лее ранняя дата, чем используемая в поле DateShipped.

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

3. Задайте текст Сообщения об ошибке.

Это сообщение об ошибке выводится на экран, если условие не выполняется. Оно анало­гично сообщению об ошибке для условия на значение поля.

Когда вставляется новая запись программа Access сначала проверяет условия на значе­ния поля. Если данные успешно проходят проверку (и у них правильные типы), Access проверяет условие на значение для таблицы.

Подсказка

После вставки условия на значение для таблицы вы, возможно, захотите закрыть Страницусвойств, чтобы увеличить свободное пространство в окне Конструктора,для этого выберите на ленте Работа с таблицами| Конструктор→Показать или скрыть→Страница свойств.

Подстановки

В БД даже незначительные вариации могут создавать большие неприятности. Допустим, вы управляете компанией International Cinnamon, пекарней многонациональной сети, выпус­кающей булочки с корицей и имеющей сотни заказов в день. В таблице Orders у вас есть следующие записи:

Quantity (количество) Product (изделие)
10 Frosted Cinnamon Buns

24 Cinnamon Buns with Icing

16 Buns, Cinnamon (Frosted)

120 FCBs

(В данном примере другие поля, такие как столбец Коди сведения о клиенте, сделавшем заказ, опущены.)

Все заказы, приведенные в таблице, означают одно и то же: различные количества вкус­ных, покрытых сахарной глазурью булочек с корицей, Но текст в столбце Productслегка отличается. Эти отличия не создают проблем для простых смертных (например, вы без тру­да выполните эти заказы), если вы захотите в дальнейшем проанализировать характеристи­ку реализации (sales performance), возникнут неприятности. У вас не будет возможности сообщить программе Access о том, что Frosted Cinnamon Bun и FCB — одно и то же, булочка с корицей, программа считает их разными изделиями. Если вы попытаетесь подсчитать наи­более популярные изделия или проверить долгосрочные тренды объемов продаж, у вас ни­чего не выйдет.

Примечание

Данный пример акцентирует внимание на том, что вы узнали раньше. А именно, программы управления БД придирчивы и серьезны, они не терпят мельчайших несоответствий. Если вы хотите, чтобы ваши БД приносили пользу, то должны быть уверены в том, что в них содержит­ся первоклассная информация.

Подстановки — еще одно средство, позволяющее стандартизировать ваши данные. Под­становки, в первую очередь, позволяют вставить значение в поле из подготовленного списка возможных вариантов. При надлежащем применении это средство решает проблему, воз­никшую в таблице Orders,— вам просто нужна подстановка, включающая все виды изделий, которые вы продаете. В этом случае вместо набора вручную названия изделия вы можете выбрать из списка Frosted Cinnamon Buns (глазированные булочки с корицей). Вы не только

экономите время, но и избегаете таких названий, как FCB, тем самым гарантируя непро­тиворечивость списка заказов.

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

Примечание

Подстановки не поддерживают следующие типы данных: Поле MEMO, Дата/время, Денеж­ный, Счетчик, Логический, Объект OLE, Гиперссылка и Вложение.

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