Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornye_raboty_042.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

2. Использование полей подстановок

Мастер подстановок позволяет заменить обычные поля таблиц полями со списком. Это позволяет создать для определенного поля список допустимых значении, при выборе элемента в котором в текущую запись автоматически заносится требуемая величина. Поля подстановки имеют следующие типы:

  • Для поля, содержащего значения внешнего ключа, создастся список значении одного или нескольких полей связанной базовой таблицы. Например, таблица "Заказы" базы данных "Борей" имеет два поля внешнего ключа: "КодКлиента" и "Код Сотрудника".Для поля "КодКлиента" отображается список значений поля "Название" табли­цы "Клиенты", а для поля "КодСотрудника" — список значений полей "Фамилия" и "Имя" таблицы "Сотрудники", разделенных запятой и пробелом. Для поля "КодКлиента" подстановка реализуется на основе простого запроса на выборку: select dictinctrow [КодКлиента], [Название] FROM [Клиенты] ORDER BY [Название];.

  • Для любого другого поля, исключая поле простого первичного клю­ча, список содержит фиксированные значения.

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

является источником записей. На практике чаще всего используется поле со списком, у которого значение свойства "Ограничиться списком" (Limit to List) равно Да. Ниже описывается, как связать списки подстановки зна­чений внешнего ключа или фиксированных величин с полями таблицы.

2.1 Добавление списка, задающего значение внешнего ключа, при помощи Мастера подстановок

Рассмотрим построение списка подстановки значений внешнего ключа таблицы

"Персональные мероприятия", созданной в предыдущих главах. Чтобы заменить поле "Код Сотрудника" полем подстановки:

  1. Выделите таблицу "Персональные мероприятия" в окне "База данных", а затем нажмите комбинацию клавиш <Ctrl>+<C> для копирования таблицы в Буфер обмена.

  2. Нажмите комбинацию клавиш <Ctrl>+<V> для вывода диалогового окна "Вставка таблицы" (Paste Table As). Введите имя копии, напри­мер, "Персональные мероприятия (поля подстановки)" и нажмите кнопку ОК.

  3. Откройте копию в режиме конструктора и выделите поле "КодОтветственного". Раскройте вкладку "Подстановка" (Lookup) для вывода текущих свойств подстановки. Поле не имеет этих свойств. В ячейке столбца "Тип данных" (Data Type) выберите из списка элемент "Мастер подстановок" (рис. 16). Отображается первое диалоговое окно Мастера подстановок.

  4. Поле подстановки должно включать значения из другой таблицы (таблица "Сотрудники"), поэтому изменять установки в первом окне не требуется (рис. 17). Нажмите кнопку "Далее" (Next) для вывода второго диалогового окна Мастера подстановок.

  5. Выбрав переключатель "Таблицы" (Tables), выделите таблицу "Сотрудники", с которой связано поле "КодОтветственного" (рис. 18). Нажмите кнопку "Далее" для вывода третьего диалогового окна Масте­ра подстановок.

  6. Нажмите кнопку ">" три раза для добавления полей "КодСотрудника", "Фамилия" и "Имя" в список подстановки (рис. 19). Включение ключевого поля базовой таблицы, связанное с полем внешнего ключа, является обязательным. Нажмите кнопку "Далее".

  7. Измените ширину столбцов, обеспечив достаточный интервал между фамилией и именем. Двойной щелчок по правому краю заголовка столбца приводит к тому, что Мастер подстановок изменяет размер, но не оптимальным образом. Кроме того. Мастер подстановок опреде­ляет, что поле "КодСотрудника" является ключевым, и рекомендует скрыть его (рис. 20). Нажмите кнопку "Далее" для вывода последне­го окна Мастера подстановок.

  8. Не изменяйте предлагаемой подписи для поля подстановки (рис. 21). Если задать другое значение, то изменится имя поля, а не его подпись.

  9. Нажмите кнопку "Готово" (Finish) для завершения работы Мастера подстановок, а затем кнопку ОК в ответ на приглашение сохранить структуру таблицы. В свойствах подстановки для поля появляются но­вые значения (рис. 22). Мастер подстановок также создает сле­дующую инструкцию SQL:

SELECT DISTINCTROW [Сотрудники].[КодСотрудника], [Сотрудники].[Фамилия], [Сотрудники].[Имя] FROM [Сотрудники];.

  1. Нажмите кнопку "Режим таблицы" для вывода данных таблицы. В по­ле "КодОтветственного" выводится только первый столбец списка. Увеличьте ширину поля до ширины списка, предварительно раскрыв его (рис. 23).

  2. Вернитесь в режим конструктора, выберите свойство "Источник строк" (Row Source) и нажмите кнопку "Построить" (Build) для вывода окна "Инструкция SQL" (Row Source SQL) в режиме конструктора запросов (рис. 24), а затем закройте его.