Подстановки

В БД даже незначительные вариации могут создавать большие неприятности. Допустим, вы управляете компанией 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, Гиперссылка и Вложение.

 

 

Создание простого списка подстановок, состоящего из констант

 

Простые списки подстановок имеют смысл, если у вас короткий простой список, не нуждающийся в частых корректировках. Отличным примером может служить список префиксов в адресе, обозначающих штаты. В данном случае это набор 50 двухбуквенных сокращений (AL, AK, AZ и т. д.).

Для опробования процесса создания списка, состоящего из перечисленных далее действий, можно воспользоваться таблицей Bachelors (холостяки), входящей в примеры к данной главе, размещенные в Интернете (см. файл БД DatingService.accdb). Можно перейти непосредственно к конечному результату, просмотрев файл DatingServiceLookup.accdb.

1. Откройте таблицу в Конструкторе.

Если вы используете файл DatingService.accdb, откройте таблицу Bachelors.

2.   Найдите поле, в которое нужно вставить список подстановок.
В таблице Bachelors это поле State.

3.   Убедитесь в том, что у поля корректный тип данных.

применяются чаще всего для данных Текстового и Числового типов.

4.   Выберите в списке типов данных Мастер подстановок. Это действие на самом деле не изменяет заданный тип данных. Оно лишь сообщает программе Access о том, что вы хотите запустить мастер Создание подстановки, базирующийся на текущем типе данных. Как только выбран описанный вариант, на экране появляется окно мастера Создание подстановки (рис. 4.17).

5.   Выберите переключатель Будет введен фиксированный набор значений (I will type in the values that I want). В разд. "Поиск в связанных таблицах" главы 5 описывается другой вариант: список подстановок из другой таблицы.

6.   Щелкните мышью кнопку Далее.

В следующем окне Создание подстановки вы можете ввести список значений, которые следует использовать по одному в каждой строке (рис. 4.18). В данном случае вводится список сокращенных названий 50 американских штатов.

Как вы могли заметить, в списке можно заполнить несколько столбцов данных. Пока ограничимся одним столбцом. Вы узнаете, зачем использовать несколько, разд. "Поиск в связанных таблицах" главы 5.

 

Рис. 4.17. Сначала вы выбираете источник для ваших подстановок: константы или данные из другой таблицы

Рис. 4.18. Этот список подстановок содержит сокращенные названия всех американских штатов. Он вряд ли будет меняться в ближайшем будущем, поэтому безопаснее хранить его как набор констант, а не в другой таблице

7.   Щелкните мышью кнопку Далее.

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

8.   Укажите, можно ли хранить в столбце подстановки множественные значения.

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

 

В поле State нет смысла разрешать множественные значения — помимо всего прочего физически человек может обитать только в одном штате (не принимая во внимание квантовую телепортацию). Но можно придумать примеры, в которых наличие множественных значений вполне оправданно. Например, в таблице Products, используемой компанией International Cinnamon, подстановка множественных значений позволила бы нам сформировать заказ нескольких изделий. (Вы узнаете больше о выборе нескольких значений и связях между таблицами в главе 5.)

9.  Щелкните мышью кнопку Готово.

Перейдите в Режим таблицы (щелкните правой кнопкой мыши заголовок вкладки и выберите Режим таблицы) и сохраните изменения. На рис. 4.19 показана подстановка в действии.

 

Рис. 4.19. Когда вы перейдете в поле со списком подстановок, то справа увидите стрелку, направленную вниз. Щелкните ее кнопкой мыши, и на экране появится раскрывающийся список со всеми введенными вами вариантами. Выберите один из них для вставки в поле

 

 

Создание списка подстановки, использующего другую таблицу

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

 

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

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

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

•    Можно хранить дополнительную информацию. Например, вы можете хранить сокращенные названия штатов (для почтовых адресов), а отображать полные названия (для облегчения ввода данных). В разд. "Поиск  в связанных таблицах" главы 5 вы узнаете, как это сделать.

Списки подстановок в виде таблиц немного сложнее, поскольку они включают связь таблицы — ссылку, объединяющую две таблицы вместе и (иногда) порождающую новые ограничения. Глава 5 полностью посвящена связям таблиц, служащих ключевым компонентом любой применяемой на практике БД.

 

 

Добавление новых значений в ваш список подстановок

 

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

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

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

1.     В Конструкторе перейдите в поле, содержащее список подстановок.

2.     В области Свойства поля щелкните кнопкой мыши вкладку Подстановка.

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

3.  Задайте значение Да в поле Ограничиться списком (Limit to List). Это действие защитит вас от ввода значений, не включенных в список.

 


1.  Можете выбрать значение Да в поле Разрешить изменение списка значений (Value List Edits).

Это действие позволит корректировать значения списка в любое время. Если в списке подстановок что-то пропущено, вы можете вставить новое значение на лету (рис. 4.20).

 

Рис. 4.20. Если задать значение поля Разрешить изменение списка значений, равным Да, во время применения списка подстановок появится пиктограмма (слева). Щелкните ее кнопкой мыши, и на экране откроется диалоговое окно Изменение элементов списков (справа), в котором можно откорректировать значения из списка подстановок и изменить значение по умолчанию

 

 

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100