Упражнение 5. Создание итогового запроса
Если полностью заполнить данными таблицу Комплектующие, введя параметры всех компонентов, входящих в сборочную спецификацию персонального компьютера, то можно узнать, во что обходится себестоимость комплектующих узлов. Запросы, выполняющие вычисления по всем записям для какого-либо числового поля, называются итоговыми запросами. В итоговом запросе может рассчитываться сумма значений или величина среднего значения по всем ячейкам поля, может выбираться максимальное или минимальное значение данных в поле, может также исполняться иная итоговая функция. Итоговые запросы, как и запросы на выборку, готовятся с помощью бланка запроса по образцу.
Предположим, что малое предприятие собирает компьютеры трех классов: «Элитный», «Деловой» и «Экономичный». Несмотря на то, что архитектура у всех компьютеров близка, их компоненты заметно отличаются по цене и техническим параметрам. Соответственно, имеются значительные отличия в цене этих трех моделей, что важно для захвата разных секторов рынка. Наша задача — подготовить итоговый отчет, с помощью которого можно определять цену каждой из модели компьютеров и динамично ее отслеживать при изменении входящих компонентов или их поставщиков.
1. Запустите программу Microsoft Access (Пуск > Программы > Microsoft Access).
2. В окне Microsoft Access включите переключатель. Открыть базу данных, выберите ранее созданную базу Комплектующие и щелкните на кнопке ОК.
3. В окне Комплектующие: база данных откройте панель Таблицы. Выберите таблицу Комплектующие.
4. Щелчком на значке Конструктор откройте таблицу в режиме проектирования — нам это необходимо для создания дополнительного поля Класс, в котором будут храниться данные о том, для какого класса изделий предназначены компоненты.
5. В начало структуры таблицы вставьте новое поле. Для этого выделите первое поле (Компонент) и нажмите клавишу INSERT.
6. Введите имя нового поля — Класс и определите его тип — Текстовый.
7. Закройте окно Конструктора. При закрытии подтвердите необходимость изменить структуру таблицы.
8. Откройте таблицу Комплектующие и наполните ее содержанием, введя для каждого класса данные по следующим изделиям:
• Материнская плата;
• Процессор;
• Оперативная память;
• Жесткий диск;
• Корпус;
• Дисковод CD-ROM;
• Дисковод гибких дисков;
• Видеоадаптер;
• Звуковая карта;
• Клавиатура;
• Мышь.
Цены на эти изделия для каждого класса проставьте произвольно. Прочие поля таблицы можно не заполнять — в формировании итогового запроса они участвовать не будут.
9. Закройте таблицу Комплектующие.
10. Откройте панель Запросы щелчком на одноименной кнопке окна Комплектующие:
база данных.
11. Выполните двойной щелчок на значке Создание запроса в режиме конструктора. В открывшемся диалоговом окне Добавление таблицы выберите таблицу Комплектующие, на основе которой будет разрабатываться итоговый запрос. Закройте окно Добавление таблицы.
12. В бланк запроса по образцу введите следующие поля таблицы Комплектующие:
Класс, Компонент, Цена.
13. Для поля Класс включите сортировку по возрастанию. Включите также сортировку по полю Цена, но на этот раз — по убыванию.
14. На панели инструментов Microsoft Access щелкните на кнопке Групповые операции или воспользуйтесь строкой меню (Вид > Групповые операции). Эта команда необходима для создания в нижней части бланка строки Групповые операции. Именно на ее базе и создаются итоговые вычисления. Все поля, отобранные для запроса, получают в этой строке значение Группировка.
15. Для поля, по которому производится группировка записей (в нашем случае — Класс), оставьте в строке Групповые операции значение Группировка. Для остальных полей щелкните в этой строке — появится кнопка раскрывающегося списка, из которого можно выбрать итоговую функцию для расчета значений в данном поле.
16. Для поля Цена выберите итоговую функцию Sum для определения стоимости изделия как суммы стоимостей комплектующих.
17. Для поля Компонент выберите итоговую функцию Count, определяющую общее количество записей, вошедших в группу. В нашем случае это количество узлов, из которых собран компьютер.
18. Закройте бланк запроса по образцу и дайте ему имя: Расчет стоимости изделия. Запустите запрос и убедитесь, что он правильно работает.
19. Закройте все объекты базы данных. Завершите работу с программой Microsoft Access.
Мы научились создавать так называемые итоговые запросы. Это запросы, производящие вычисления по всем значениям одного поля. Мы научились также выбирать используемую итоговую функцию.