Запрос на создание таблицы создает новую таблицу на основе других таблиц/запросов.
Запрос на создание таблицы полезен требуется в следующих случаях:
· Создание таблицы для экспорта в другую базу данных.
· Создание архивной таблицы, содержащей старые записи.
· Повышение быстродействия форм, отчетов.
Задание 15. Создать таблицу, содержащую данные о выполнении заказов. Вывести следующую информацию: № счета, сумма счета, сумма продаж, долг.
Общая схема решения представлена на Рисунок 33.
Рисунок 33 Общая схема решения задания 15
Алгоритм выполнения задания:
Запрос 15-1_суммы счетов.
1. Создать новый запрос. Исходные таблицы: СПЕЦИФИКАЦИЯ СЧЕТА, ТОВАР.
2. Вывести поле № СЧЕТА.
3. Создать новое поле с помощью построителя выражений. Выражение имеет вид: [Спецификация счета]![количество по счету]*[Товар]![Цена]. Новому полю присвоить имя — Сумма счета.
4. Указать группировку записей по полю № СЧЕТА.
5. Для поля Сумма счета в строке ГРУППОВАЯ ОПЕРАЦИЯ задать функцию SUM.
6. Сохранить запрос под именем 15-1_суммы счетов.
Бланк запроса представлен на Рисунок 34.
Запрос 15-2_суммы продаж.
1. Создать новый запрос. Исходные таблицы: продажа, ТОВАР.
2. Вывести поле № СЧЕТА. Для данного поля задать условия отбора — Is Not Null (это условие обеспечивает выборку из таблицы продажа записей о тех продажах, для которых определен № счета).
Рисунок 34 Бланк запроса 15-1_суммы счетов задания 15
3. Создать новое поле, содержащее значения сумм продаж. Полю присвоить имя сумма продаж.
4. Для поля сумма продаж в строке ГРУППОВАЯ ОПЕРАЦИЯ задать функцию SUM.
5. Сохранить запрос под именем 15-2_суммы продаж.
Запрос 15-3_долг на создание таблицы.
1. Создать новый запрос. Исходные запросы: 15-1_суммы счетов,15-2_суммы продаж. Установить связь по полю № счета.
2. Учитывая возможность отсутствия продаж по некоторым счетам, изменить параметры объединения для установленной связи.
3. Вывести поля № счета, сумма счета, сумма продаж.
4. Для определения задолженности по продажам создать новое поле. Чтобы не допустить пустого значения задолженности (для записей с отсутствующими продажами), необходимо при помощи функции NZ (или IIF, ISNULL) для поля сумма продаж задать преобразование возможных пустых значений в 0 (см. п.6 алгоритма запроса 13-3, стр. 37). Выражение для расчета задолженности имеет вид: [15_1 суммы счетов]![Сумма счета]-nz([15-2 сумма продаж]![сумма продаж];0). Присвоить полю имя ДОЛГ.
5. Запустить запрос, проверить результат выполнения запроса.
6. Перейти в режим конструктора запроса. Открыть пункт меню ЗАПРОС и выбрать команду СОЗДАНИЕ ТАБЛИЦЫ. Откроется диалоговое окно СОЗДАНИЕ ТАБЛИЦЫ.
7. В поле имя таблицы ввести имя создаваемой таблицы — ВЫПОЛНЕНИЕ ЗАКАЗОВ (Рисунок 35), нажать кнопку ОК.
Рисунок 35 Диалоговое окно СОЗДАНИЕ ТАБЛИЦЫ
8. Сохранить запрос под именем 15-3_долг.
9. Просмотреть результат выполнения запроса (не запуская запрос) — нажмите кнопку на панели инструментов. Вернуться в режим конструктора запросов.
10. Запустить запрос. Прочитать информационные сообщения, подтвердить создание таблицы.
11. На вкладке ТАБЛИЦЫ окна базы данных появилась вновь созданная таблица ВЫПОЛНЕНИЕ ЗАКАЗОВ. Просмотреть содержание таблицы.
Бланк запроса представлен на Рисунок 36.
Рисунок 36 Банк запроса на создание таблицы 15-3_долг задания 15
При разработке запроса на создание таблицы возможно использование условий отбора.
Задание 1_17 для самостоятельной работы. Создать таблицу, содержащую счета, по которым полностью произведена продажа. Вывести следующую информацию: №счета, наименование покупателя, сумма счета. Исходные таблицы — ВЫПОЛНЕНИЕ ЗАКАЗОВ, ПОКУПАТЕЛЬ, СЧЕТА. Таблице присвоить имя ВЫПОЛНЕННЫЕ ЗАКАЗЫ.