Расширение сферы использования запросов
Обобщенная функция применяется с группой записей. Всего в Access применяются 12 типов групповых операций, 9 из которых – обобщенные функции. К числу обобщенных функций относятся:
- Sum – сумма значений в каждой группе;
- Avg – среднее значение для группы;
- Min – наименьшее значение в группе;
- Мах – наибольшее значение в группе;
- Count – количество элементов в каждой группе (за исключением пустых и незаполненных элементов);
- StDev – стандартное отклонение для каждой группы;
- Var – вариации для каждой группы;
- First – первое значение в каждой группе;
- Last – последнее значение в каждой группе.
Ниже перечислены типы групповых операций:
- Group By – определение группы путем уменьшения записей до уникальных значений;
- Expression – вычисление на основе обобщенной функции;
- where – указание условия, ограничивающего значения в каждой группе.
На втором шаге предыдущего упражнения было выведено предостережение относительно невозможности добавлять в таблицу новые поля, не относящиеся к группе. Это привело бы к изменению группы, и запрос отобразил бы другой набор записей. Предположим, необходимо просмотреть имя каждого растения, а также подсчитать количество растений в каждой группе (как в прошлом упражнении). Вы, наверное, уже догадываетесь, в чем здесь загвоздка, даже без запуска запроса? Рассмотрим такую ситуацию.
Предыдущий запрос выводит подсчитанное количество типов растений. К каждому типу группы невозможно добавить ни единого растения. При попытке сделать это будет создано несколько групп – по одной для каждого растения. К примеру, в случае добавления в таблицу конструктора поля Имя результат будет таким, как показано на рис. 12.28. Обратите внимание на значение 1 функции count для каждой записи. Дело в том, что каждая группа основана на полях Имя и номер типа, а не исключительно на втором поле, как было ранее. Будьте осторожны при создании групповых операций и добавляйте только те поля, которые относятся к группе.
Рис. 12.28. Запрос воспринял запись о каждом растении как новую группу
Подведем итоги…
Запросы относятся к разряду одних из самых эффективных инструментов Access. Существует несколько мастеров и типов запросов, которые помогут решить самые сложные задачи. В этой главе описывалось выполнение различных действий с помощью запросов, а именно:
- нахождение дублированных и несовпадающих записей, а также объединение данных по категориям с помощью нескольких мастеров;
- изменение и удаление групп записей посредством активных запросов;
- взаимодействие с запросом путем добавления параметра;
- объединение групп данных с помощью обобщенных функций.