Упражнение 14.5. Создание итогового запроса 45 мин

Если полностью заполнить данными таблицу Книги в продаже, введя параметры всех книг, имеющихся в продаже, то можно узнать, например, средний объем книги или среднюю цену. Запросы, выполняющие вычисления по всем записям для какого-либо числового поля, называются итоговыми запросами. В итоговом запросе может рассчитываться сумма значений или величина среднего значения по всем ячейкам поля, может выбираться максимальное или минимальное значение данных в поле, может также исполняться иная итоговая функция. Итоговые запросы, как и запросы на выборку, готовятся с помощью бланка запроса по образцу.

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

1. Запустите программу Microsoft Access 2000 (Пуск > Программы > Microsoft Access).

2. В окне Microsoft Access включите переключатель Открыть базу данных, выберите ранее созданную базу Книготорговля и щелкните на кнопке ОК.

3. В окне Книготорговля: база данных откройте панель Таблицы. Выберите таблицу Книги в продаже.

4. Щелчком на значке Конструктор откройте таблицу в режиме проектирования — нам это необходимо для создания дополнительного поля Категория, в котором будут храниться данные о том, к какой категории относится то или иное издание.

5. В начало структуры таблицы вставьте новое поле. Для этого выделите первое поле (Наименование) и нажмите клавишу INSERT.

6. Введите имя нового поля — Категория и определите его тип — Текстовый.

7. Закройте окно Конструктора. При закрытии подтвердите необходимость изменить структуру таблицы.

8. Откройте таблицу Книги в продаже и наполните ее содержанием, введя для каждой категории необходимые модельные данные. Цены на издания для каждой категории проставьте произвольно. Прочие поля таблицы можно не заполнять — в формировании итогового запроса они участвовать не будут.

9. Закройте таблицу Книги в продаже.

10. Откройте панель Запросы щелчком на одноименной кнопке окна Книготорговля: база данных.

11. Выполните двойной щелчок на значке Создание запроса в режиме конструктора. В открывшемся диалоговом окне Добавление таблицы выберите таблицу Книги в продаже, на основе которой будет разрабатываться итоговый запрос. Закройте окно Добавление таблицы.

12. В бланк запроса по образцу введите следующие поля таблицы Книги в продаже: Категория, Наименование, Цена.

13. Для поля Цена включите сортировку по возрастанию.

14. На панели инструментов Microsoft Access щелкните на кнопке Групповые операции или воспользуйтесь строкой меню (Вид > Групповые операции). Эта команда необходима для создания в нижней части бланка строки Групповые операции. Именно на ее базе и создаются итоговые вычисления. Все поля, отобранные для запроса, получают в этой строке значение Группировка.

15. Для поля, по которому производится группировка записей (в нашем случае — Категория), оставьте в строке Групповые операции значение Группировка. Для остальных полей щелкните в этой строке — появится кнопка раскрывающегося списка, из которого можно выбрать итоговую функцию для расчета значений в данном поле.

16. Для поля Цена выберите итоговую функцию Avg для определения средней стоимости изданий в категории.

17. Для поля Наименование выберите итоговую функцию Count, определяющую общее количество записей, вошедших в группу. В нашем случае это количество книг, относящихся к каждой из категорий.

18. Закройте бланк запроса по образцу и дайте ему имя: Средняя цена книги. Запустите запрос и убедитесь, что он правильно работает.

19. Закройте все объекты базы данных. Завершите работу с программой Microsoft Access.

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