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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



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

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

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

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

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


Примечание

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

 
 

Рис. 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, Гиперссылка и Вложение.

 

 



Поделиться:


Последнее изменение этой страницы: 2016-08-14; просмотров: 143; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.147.190 (0.009 с.)