В главе 5, как вы помните, для учебной базы данных было создано три таблицы, а также три типа записей и несколько адресов каталогов (рис. 6.1). Теперь же нам нужно добавить к ним еще несколько записей о растениях.
Рис. 6.1. Эти три таблицы были созданы в главе 5
Откроем незаполненную таблицу Растения и введем данные о нескольких новых
растениях, перечисленных в табл. 6.1.
Таблица 6.1. Добавляемые записи о растениях
Имя |
Латинское имя |
Каталог |
Тип |
Тысячелистник |
Achillea millefolium |
Огородник |
Декоративное |
Синий василек |
Echinacea purpurea |
Огородник |
Лечебное |
Космея |
Cosmos bipinnatus |
Фермер |
Декоративное |
Тунбергия |
Rudbeckia hirta |
Огородник |
Декоративное |
Живокость |
Delphinium ajacis |
Огородник |
Декоративное |
Германская ромашка |
Matricaria recutita |
Фермер |
Лечебное |
Календула |
Calendula officinalis |
Цветоводство |
Декоративное |
Конечно, нам уже приходилось выполнять такого рода работу, но все же освежим в памяти, как можно создать первую запись.
1. Выберите первое поле в первом ряду таблицы и введите Тысячелистник.
2. Нажмите клавишу со стрелкой вправо и введите Achillea millefolium.
3. Пропустите следующие два поля и введите значение, определяющее номер для растения декоративного типа. Едва ли вы не помните этот номер, откройте таблицу
Типы. Как видите, значением номера для растения декоративного типа является 1.
4. Вернитесь в таблицу Растения и введите значение 1 в поле Номер типа для тысячелистника.
Повторив описанные выше шаги, введите нужные сведения о растении Синий василек, которое применяется в лечебных целях. Стоит еще раз вернуться к таблице
Типы и посмотреть на значение типа для лечебных растений. Нужное значение — 3, поэтому введем его в поле
Номер типа для растения Синий василек.
Подобный метод ввода данных быстро надоест, да и к тому же его эффективность очень низка. Если работа со взаимосвязанными таблицами должна выполняться просто и быстро, почему же нам приходится так много возиться при вводе всего лишь нескольких записей (рис. 6.2)?
В главе 4 мы не рекомендовали вводить данные непосредственно в таблицу. Но на этапе разработки и тестирования вполне допустимо поэкпериментировать с несколькими записями. В дальнейшем же для создания работоспособной базы данных будут создаваться формы ввода данных.
Рис. 6.2. Запомнить значения типа растения для каждой записи непросто
Решить эту проблему можно путем создания в таблице Растения так называемого поля подстановки. Это поле отображает одно значение, в то время как содержит другое. Для его создания воспользуемся специальным мастером.
Значения поля Номер типа сугубо числовые, и запомнить их довольно сложно, а что уж говорить о сотнях записей в таблице! Поэтому наилучшим решением будет преобразование поля
Номер типа таблицы Растения в поле подстановки. Выполняется такое преобразование следующим образом.
1. Откройте таблицу Растения в режиме конструктора, выбрав ее в окне Растения: база данных и щелкнув на кнопке
Вид панели инструментов.
2. В настоящий момент типом данных для поля Номер типа является значение
Числовой. Щелкните мышью на правой области столбца Тип данных в поле Номер типа, чтобы активизировать раскрывающийся список.
3. Выберите значение Мастер подстановок, как показано на рис. 6.3.
4. В первом окне мастера предлагается выбрать между использованием значения из таблицы или запроса и вводом фиксированного набора значений. В нашем случае требуется отображение описательных значений из таблицы
Типы, поэтому выбираем переключатель Объект «столбец подстановки» будет использовать значения из таблицы или запроса, как и принято по умолчанию. Щелкните на кнопке
Далее.
Рис. 6.3. Выбор мастера подстановок из раскрывающегося списка столбца Тип данных
5. Если требуется отобразить уже существующие значения, мастер выведет соответствующий список таблиц. Нужные значения находятся в таблице Типы, поэтому следует выбрать параметр
Таблица: Типы. Обратите внимание на панель Показать в нижней области экрана. При необходимости выбрать значения из запроса активизируйте переключатель
Запросы. Возможен также выбор переключателя Таблицы и запросы. Щелкните на кнопке
Далее.
6. В следующем окне отобразятся все поля таблицы или запроса, которые были выбраны в предыдущем окне. Как правило, лучше указывать поле, представляющее собой первичный ключ таблицы подстановки, и поле, содержащее необходимые для отображения значения. В данном случае щелкните на кнопке с двойными стрелками для переноса обоих полей в список
Выбранные поля (рис. 6.4). Первичным ключом таблицы является поле Номер типа, а в поле
Описание содержатся значения, которые будут предоставляться пользователю. Щелкните на кнопке
Далее.
Рис. 6.4. Перенос обоих полей в список Выбранные поля
7. Следующее окно позволяет выбирать поля, используемые для сортировки списка данных. В нашем случае подойдет изначальный порядок, поэтому щелкните на кнопке
Далее.
8. В окне, показанном на рис. 6.5, отображаются значения для поля подстановки. Обратите внимание на тот факт, что Access будет отображать не значения первичного ключа, а только описательные значения, выбранные в текущем списке.
В случае необходимости измените ширину столбцов для полноценного отображения
каждого значения. Щелкните на кнопке Далее.
Рис. 6.5. Описательное значение в поле подстановки
9. Наконец, мастер запросит имя нового поля подстановки. Примите имя, предложенное мастером, и щелкните на кнопке
Готово.
10. Теперь появится окно с запросом на сохранение таблицы, в котором следует щелкнуть на кнопке
Да. Если вы щелкнете на кнопке Нет, мастер аннулирует только что созданные параметры поля подстановки.
Как видите, Access автоматически отсортировала записи после добавления поля подстановки. На самом деле сортировка не имеет никакого отношения к этому полю — она по случайному стечению обстоятельств была выполнена после добавления поля подстановки. Дело в том, что Access упорядочивает данные по значениям первичного ключа. Поскольку поле первичного ключа является текстовым (Имя), Access сортирует записи в алфавитном порядке в соответствии со значениями этого поля.
Хоть это и не имеет значения на данном этапе, отметим, что формы и отчеты наследуют поля подстановки таблиц. Другими словами, все формы и отчеты, связанные с таблицей
Растения, для отображения содержимого поля Номер типа будут использовать комбинированное окно, а не текстовый элемент управления, принятый по умолчанию. Более подробные сведения по этой теме представлены в главе 8.
Для просмотра нового поля подстановки следует щелкнуть на кнопке Вид, которая находится на панели инструментов конструктора базы данных. Ранее поле
Номер типа содержало только числовые значения (см. рис. 6.2), а теперь здесь хранятся описательные текстовые наименования. Таким образом, поле подстановки автоматически отображает для любой записи соответствующее описание, а не ее числовое значение.
Поле подстановки также дает возможность ввести значения внешнего ключа для каждой записи в таблице
Растения. Вернемся к табл. 6.1 и введем еще одну запись, на этот раз для космеи. При переходе к полю
Номер типа щелкните на значке с изображением стрелки для активизации раскрывающегося списка поля подстановки (рис. 6.6).
Для того чтобы ввести значение типа для новой записи, щелкните на значении в ниспадающем списке, выберите для растения
Камея значение Декоративное и введите оставшиеся записи из табл. 6.1. По окончании этой работы вы должны получить таблицу, показанную на рис. 6.7 (закройте и снова откройте ее, в результате чего будет произведена автоматическая сортировка записей).
Откройте таблицу Растения в режиме конструктора и просмотрите параметры поля подстановки (щелкнув на кнопке
Вид на панели инструментов). Теперь выберите любое поле в столбце Номер типа
и щелкните на вкладке Подстановка на панели Свойства поля.
Рис. 6.6. Активизация раскрывающегося списка поля подстановки
Рис. 6.7. Теперь в таблице содержатся сведения о семи растениях
Обратите внимание на поле Тип элемента управления,
содержащее текстовое поле для ввода данных и прокручиваемый список. Данные можно вводить непосредственно в текстовое поле, а нужный элемент выбирается из раскрывающегося списка. Более полно процесс создания различных элементов управления описывается в главе 8, «Создание и использование форм данных», и в главе 13, «Настройка форм».
Хоть это и не очевидно, но мастер создания поля подстановки автоматически создал первую связь. О связях мы еще поговорим в этой главе.
Удаление поля подстановки
Для удаления этого поля выберите значение Поле в раскрывающемся списке свойства поля
Тип элемента управления, показанном на рис. 6.8. Но не стоит делать это прямо сейчас, так как поле подстановки, добавленное для поля
Номер типа, нам еще понадобится. Не изменяя поле подстановки, закройте таблицу растений.
Разве не проще выбирать нужный элемент в списке, вместо того чтобы вводить его название вручную? Не только проще, но и эффективнее, поэтому использование раскрывающегося списка является идеальным методом защиты данных, предотвращающим появление ошибок, в том числе опечаток, обусловленных невнимательностью пользователей. Настоятельно рекомендуем как можно чаще ограничивать пользователей выбором возможных вариантов в специальных списках.
Рис. 6.8. Для удаления поля подстановки выберите в списке Тип элемента управления значение Поле
Возможно, при вводе записей в таблицу Растения в предыдущем разделе вам закрадывалась в голову мысль о целесообразности добавления таблицы подстановки для поля
ИмяКаталога. Это позволило бы нанести серьезный удар по опечаткам — признайтесь, ведь вам приходилось при вводе значений исправлять не одну и две записи! К слову сказать, в главе 13 описывается еще один, альтернативный, метод отображения элементов в раскрывающемся списке.