Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция_N4_сложные_запросы.doc
Скачиваний:
6
Добавлен:
28.07.2019
Размер:
286.72 Кб
Скачать

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

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

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

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

Подстановка относится к полю, а не к типу его данных. Она реализуется на основе специального набора свойств, хранящихся вместе с обычными свойствами полей таблиц. Свойства подстановки включены в семейство Properties объекта Field, который входит в объект таблицы TableDef.

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

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

  1. Скопировать таблицу «Заказы», дать копии новое имя «Заказы_подстановка»

  2. Откройте копию в режиме конструктора и выделите поле "КодСотрудника". В ячейке столбца "Тип данных" выберите из списка элемент "Мастер подстановок". Отображается первое диалоговое окно Мастера подстановок.

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

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

  5. Измените ширину столбцов, обеспечив достаточный интервал между фамилией и именем. Поле "КодСотрудника" является ключевым, и рекомендует скрыть его.

  6. Нажмите кнопку "Готово" для завершения работы Мастера подстановок, а затем кнопку ОК в ответ на приглашение сохранить структуру таблицы. В свойствах подстановки для поля появляются новые значения.

Мастер подстановок (Loolup Wizard) создает также следующую инструкцию SQL: SELECT Сотрудники.КодСотрудника, Сотрудники.Фамилия, Сотрудники.Имя, Сотрудники.Должность FROM Сотрудники ORDER BY [Фамилия];