Многотабличный запрос. Построение запроса на основе уже имеющегося запроса.
Для того, чтобы ответить на вопрос: "Сколько заказов и на какую сумму разместил каждый клиент?" необходимо построить многотабличный запрос.
5.1. Создайте запрос "Сведения о заказах", добавив в окно Конструктора таблицы «Заказано» и «Товары». Из таблицы «Заказано» выберите поле «КодЗаказа», поля «Марка» и «Цена» из таблицы «Товары», поля «Количество» и «Скидки» - из таблицы «Заказано».
5.2. В следующее поле (пустое) введите выражение CCur([Товары]![Цена]* [Заказано]![Количество]*(1-[Заказано]![Скидка])/100)*100. Нажав клавиши Shift+F2 в окне Область ввода вместо Выражение 1: введите ОтпускнаяЦена.
5.3. Щелкните правой кнопкой по пустому полю следующего столбца и в открывшемся меню выберите Свойства. В строке «Вывод всех полей»выберите значение Нет. Запустите запрос и сохраните его под именем «Сведения о заказах».
5.4. Создайте новый запрос и добавьте в него таблицы «Клиенты», «Заказы» и запрос «Сведения о заказах».
5.5. Перетащите в бланк заказа поле «Название» из таблицы «Клиенты», поле «КодЗаказа» из таблицы «Заказы», а затем дважды выберите поле «Отпускная цена» из запроса «Сведения о заказах».
5.6. Нажмите кнопку Итогина ленте инструментов. В бланк запроса добавляется строка «Групповая операция», содержащая по умолчанию в каждой ячейке операцию Группировка.
5.7.В строке «Групповая операция»задайте необходимые статистические функции. Для поля «Название» оставьте значение Группировка, для поля «КодЗаказа» выберите из списка функцию Сount (подсчёт количества записей в поле), а для поля «Отпускная цена» первый раз выберите Sum (суммирует все значения в поле). А для подсчёта среднего значения второй раз используйте функцию Avg.
5.8. Запустите запрос на выполнение, чтобы посмотреть результаты запроса. Должна получиться таблица, которая содержит список клиентов, для каждого клиента указывается количество заказов, которое он сделал, общая сумма и средняя стоимость этих заказов. Закройте запрос, сохранив eго под именем "Итоги по клиентам".
6. Самостоятельная работа.
6.1. Создайте запрос на выборку самых дорогих кондитерских товаров.
6.2. Создайте запрос на выборку клиентов с самыми большими заказами
6.3. Создайте запрос, в котором будут отражены все совладельцы предприятий в г. Тюмени среди клиентов.
Лабораторная работа №9
Создание запросов-действий (модифицирующих запросов)
Цели работы:
Приобретение навыков работы с данными с помощью запросов-действий.
Задачи работы:
Научиться создавать и выполнять запросы на создание таблицы, на добавление, обновление и удаление данных.
Общие сведения.
Для быстрого изменения, вставки, создания или удаления наборов данных из базы используются управляющие запросы или запросы-действия.
Создание запросов-действий аналогично созданию запросов на выборку. Главное отличие в том, что в Конструкторе запросов необходимо указать тип действия над выбранными записями. Существует четыре типа запросов-действий:
Ø Создание таблицы
Ø Обновление созданной таблицы
Ø Удаление записей из созданной таблицы
Ø Добавление записей в созданную таблицу
Кнопки выбора действия находятся на вкладке Конструктор в разделе Тип запроса.
Внимание! Создание запросов на удаление, обновление и добавление невозможно без разрушения целостности данных. Поэтому, перед созданием таких запросов сделайте копию таблицы, созданной в результате запроса на создание таблицы.
1. Создание таблицыс помощью запроса выполняется в три этапа:
♦ создание запроса на выборку;
♦ преобразование запроса на выборку в модифицирующий запрос;
♦ выполнение модифицирующего запроса, в результате которого будет создана таблица.
1.1. Создайте новый запрос на выборку с помощью Конструктора и добавьте в него таблицы «Заказы», «Заказано» и «Клиенты».
1.2. Выберите поля, которые будут отображаться в результирующей таблице: «КодЗаказа», из таблицы «Заказы», «НаимТовара» таблицы «Заказано», «Название» из таблицы «Клиенты», «ДатаИсполнения» из таблицы «Заказы».
1.3. Используя оператор Between, выберите все заказы, относящиеся к 2008 году для помещения их в архив. Просмотрите результат выполнения запроса, перейдя в Режим таблицы. В результате должна получиться таблица, в которой отображаются все заказы, выполненные в 2008 году. Вернитесь в Конструктор.
1.4. На втором этапе необходимо преобразовать запрос. Для этого на вкладке Конструктор в разделе Тип запроса выберите Тип Запроса: Создание таблицы.
1.5. Появится диалоговое окно Создание таблицы. В поле «имя таблицы» введите Архив. Установите переключатель «в текущей базе данных». Таблица будет создаваться в текущей базе данных (открытой в этот момент). Нажмите ОК.
1.6. Не выполняя, закройте запрос, присвоив ему имя «Для архива».
Внимание! Обратите внимание, что в окне базы данных пиктограмма запроса содержит восклицательный знак, что указывает на модифицирующий запрос на создание таблицы.
1.7. Для того, чтобы программа выполнила запрос надо изменить параметры безопасности. Для этого нажмите кнопку Параметры, находящуюся в центре экрана. Выберите «Включить это содержимое» и нажмите ОК
Внимание! Запрос на создание архивной таблицы выполняется только, один раз!
1.8. Выполните запрос, два раза щелкнув по его имени. Access предупредит об изменении данных в таблице, хотя таблица еще не создана. Отвечайте на все вопросы утвердительно. В результате должна появиться новая таблица с заданным вами именем. Откройте ее и посмотрите, какие записи она содержит.