Многотабличные запросы
Все возможности запросов, основанных
на одной таблице, реализуемы и при
объединении данных из нескольких
связанных таблиц. Связь между базовыми
таблицами можно задать с помощью
первичных ключей, либо командами Сервис→
Схема данных, либо при помощи кнопки
.
Если при конструировании запроса
нужно добавить таблицу, то пользуемся
кнопкой Отобразить таблицу
панели инструментов. Все остальные
действия при создании запросов точно
такие же, как и рассмотренные ранее.
Конструирование запросов различных типов
Рассмотрим как создаются запросы на
создание, обновление, добавление и
удаление таблиц. Все эти запросы создаются
на основе существующего запроса на
выборку или следует создать новый
запрос. Затем при помощи команды Запрос
или кнопки
вызывается список вида
из которого нужно выбрать требуемый пункт.
Запрос на создание таблицы
Этот запрос используется для сохранения результатов запроса в созданной таблице и отличается от запроса на выборку тем, что обеспечивает включение новой таблицы в состав текущей базы данных либо экспортированием таблицы в другую базу данных. Для конструирования запроса на создание таблицы необходимо создать запрос на выборку или вызвать в режиме конструктора ранее созданный запрос. Потом при помощи команды Запрос→Создание таблицы или кнопки панели конструктора запросов вызвать диалоговое окно «Создание таблицы». В поле имя таблицы ввести имя создаваемой таблицы и установить переключатель создать таблицу в текущей базе или другой.
Запрос на обновление
Создаем новый запрос, или пользуемся уже существующим. После выполнения команды Запрос→Обновление появляется строка «Обновление», в которой формируются правила обновления – Рис 4.
Рис. 4 Запрос на обновление
При запуске на выполнение такого запроса на экране последовательно появляются окна для введения соответствующих параметров.
Запрос на добавление
Этот запрос обеспечивает одной или несколько записей, которые отвечают условиям отбора, с одной таблицы в конец другой, Например, если из таблицы «Сотрудники» нужно добавить записи в таблицу «Анкета», то нужно сконструировать соответствующий запрос с указанием условия отбора и воспользоваться командой Запрос→Добавление.
Ход работы
1.Создайте запрос по таблице «Изделия». Дайте пользователю возможность ввести название изделия. На экран выведите поля: название изделия, количество, цену, дату поступления, вычислимое поле «сумма».
2. По таблице «Изделия» создайте следующие запросы:
- «Дата поступления» - январь и день недели –пятница, «код изделия» >200. Выводимые записи упорядочить по убыванию значения поля «код изделия».
- «Код_изделия» - 155, «Дата поступления» - 2000г.
- «количество» больше 20 и меньше 40, «Цена» больше 10, «Дата_поступления» - март, апрель.
3. Добавьте в таблицу «Изделие» поле «код склада» и заполните это поле в соответствии с установленной ранее кодировкой, т.е., если код изделия лежит в пределах 100-199, то код склада равен 10 и т.д. Измените название поля «количество» на «изготовлено». Добавьте поле «отгружено», заполните это поле.
4. Свяжите таблицы «Изделие» и «Склад» по полю «код склада».
5. Создайте запрос по которому отобразятся данные полей: «название изделия», «название склада», на котором находиться изделие, «изготовлено», «отгружено», вычисляемое поле «остаток».
6. Создайте запрос на создание таблицы «Остатки» на основе запроса, созданного в п. 5.
7. Используя запрос на обновление, обновите цены в таблице «Изделия» для указанного изделия (записей с одним и тем же наименованием должно быть не менее трех).
8. Создайте таблицу «Список товаров» и заполните его при помощи запроса на добавление записями из таблицы «Изделие».
9. Удалите записи из таблицы «Список товаров» при помощи запроса на удаление, указав условие отбора.
