Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетБДПос(Лобова)!!.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
4 Мб
Скачать
☆

Использование групповых операций в запросах

Групповые операции позволяют выделить группы записей с одинаковыми значениями в указанных полях и использовать для этих групп одну из агрегатных функций. В Access предусматривается девять статистических функций:

Sum — сумма значений некоторого поля для группы;

Avg — среднее от всех значений поля в группе;

Mах, Min — максимальное, минимальное значение поля в группе;

Count — число значений поля в группе без учета пустых значений;

StDev — среднеквадратичное отклонение от среднего значения поля в группе;

Var — дисперсия значений поля в группе;

First и Last — значение поля из первой или последней записи в группе.

Результат запроса будет, содержать по одной записи для каждой группы.

Пример: Определим, какое суммарное количество каждого товара должно быть поставлено покупателям по договорам.

Откроем мастер запроса выберем таблицу поставка_план; выберем поле код_тов и поле кол_пост , нажмем (Рисунок 6.10.); Нажмем Далее в следующем окне подключим подробный (Рисунок 6.11.) и нажать кнопку Далее; В строке «Задайте имя запроса» впишите - Заказано товаров и нажмите Готово (Рисунок 6.12);

Рисунок 6.10. Мастер создания запросов для таблицы поставка_план

Рисунок 6.11. Мастер создания запросов для таблицы поставка_план

Рисунок 6.12. Мастер создания запросов для таблицы поставка_план

После создания запроса в мастере откорректируем его в конструкторе, для этого нажмем кнопку на панели инструментов; подключим Групповые операции и заменим слово группировка в столбце кол_пост на функцию Sum. выбрав ее из списка. Бланк запроса примет вид, показанный на рисунке 6.13. Нажмем . получим таблицу представленную на рисунке 6.14.

Рисунок 6.13. Запрос с группировкой по коду

Рисунок 6.14. Результат подсчета суммарного количества товаров

Подпись поля Sum - кол_пост можно - заменить на Заказано товаров. В режим конструктора , в бланке запроса установим курсор мыши на поле кол_пост и нажмем правую кнопку. В контекстном меню выберем Свойства. В окне Свойства поля наберем в строке Подпись — Заказано товаров. Таблица результата после доработки запроса показана на Рисунок 6.15.

Рисунок 6.15. Таблица результата с измененной подписью поля

Сохраним запрос-выборку под именем "Заказано товаров".

Запрос с функцией Count

Определим, сколько раз отгружался товар по каждому из договоров. Факт отгрузки фиксируется документом "Накладная".

Из списка таблицы накладная перетащим в бланк запроса поле ном_дог. По этому полю должна производиться группировка. По сути, смысл задачи сводится к подсчету в таблице числа строк с одинаковым номером договора, поэтому неважно, по какому полю будет вычисляться функция Count. Перетащим в бланк запроса любое поле, например, опять ном_дог.

Откроем Вид-Групповые операции . Заменим слово группировка в одном из столбцов с именем ном_дог на функцию Count. Бланк запроса, показанный на Рисунок 6.16. Сохраним запрос под именем "Число отгрузок по договорам".

Рисунок 6.16. Запрос для подсчета числа отгрузок по договорам