Запросы с группировкой данных
Запросы этого вида используются для объединения данных по заданным критериям. Для составления такого запроса необходимо:
- создать запрос выборку, задав в нем условия отбора
- преобразовать запрос в группировочный, используя на вкладке Конструктор в группе Показать или скрыть кнопку Итоги.
В бланке запроса появится дополнительная строка(свойство) «Групповая операция». Возможные значения этого свойства:
-Группировка (стандартное – исходные строки объединяются по данному полю);
- Функции объединения
Sum (значения данного поля при группировке строк суммируются) ,
Avr (среднее значение) и др.;
- Выражение (для вычисляемых полей);
- Условие (данное поле используется для отбора данных).
Данные можно отсортировать, задав свойство сортировать. Если полей сортировки несколько, то сортировка выполняется в порядке следования полей слева направо.
Пример 4 Вывести общую стоимость заключенных договоров и процент от плана для каждой специальности и формы обучения.
Создаем новый Запрос с группировкой, на основе Главного запроса. Переносим в Запрос с группировкой поля для группировки - Назв_спец , -Форма_Об и поля для вычислений- Стоимость и – План приема
Создаем вычисляемое поле Проц_плана: (1/[Запрос главный]![План_приема]). Вычисляется процент от плана приема для каждой записи. Для этого поля выбираем в окне свойств процентный формат.
Далее, на вкладке Конструктор в группе Показать или скрыть нажимаем кнопку Итоги.
Для полей используется следующая настройка свойства Групповая операция:
- Назв_спец – группировка по значениям данного поля
-Форма_Об – группировка по значениям данного поля
- Проц_плана – суммирование значений данного поля для каждой специальности и формы обучения
- Стоимость – суммирование значений данного поля для каждой специальности и формы обучения
Результаты выполнения запроса
Перекрестные запросы
Этот вид запросов относится к числу аналитических запросов для получения сводных данных. Данные запроса отображаются в виде двумерной таблицы-матрицы. Фактически это частный случай запроса группировки.
1)Для получения такого запроса преобразуют обычный запрос в перекрестный, нажав кнопку-Перекрестный на вкладке Конструктор в группе Тип запроса.
В бланке появятся новые строки
- групповые операции
- перекрестная таблица
Свойство Групповая операция заполняется по аналогии с запросом группировки (см. предыдущий параграф)
Свойство Перекрестная таблица заполняется следующими значениями:
- заголовок строк – определяет строки перекрестной таблицы (можно задать для нескольких полей),
- заголовок столбцов – определяет колонки перекрестной таблицы (можно задать только для одного поля),
- значение – определяет поле, значения которого суммируются и располагаются в клетках перекрестной таблицы (можно задать только для одного поля)
Пример 5. Создать перекрестный запрос для вывода общей стоимости заключенных договоров для каждой специальности и формы обучения.
Создаем новый Запрос 1на выборку, на основе Главного запроса. Переносим в Запрос 1 поля для группировки - Назв_спец , -Форма_Об и поле для вычислений- Стоимость .
2)Преобразуем запрос в перекрестный, нажав кнопку-Перекрестный на вкладке Конструктор в группе Тип запроса.
В бланке появятся новые строки Групповая операция и Перекрестная таблица
Задаем значение для свойства Перекрестная таблица:
- Поле Назв_спец - заголовок столбцов,
- Поле Форма_Об - заголовок строк,
- Поле Стоимость - значение с групповой операцией суммирования Sum,
Результат выполнения запроса:
Запросы на изменение данных
- добавление записей в существующую таблицу
- удаление записей
- обновление записей
Последние 2 вида запросов применяются для автоматизации вычислений. Например, удалить группу записей, удовлетворяющих заданному условию.
Технология создания таких запросов следующая:
1)создается запрос-выборка
2)запрос выполняется для визуального контроля результатов
3)запрос-выборка преобразуется в запрос-изменение
Запросы на удаление данных
Для удаления записей таблицы можно использовать команду Правка-Удалить. Но когда записей много, такая процедура занимает много времени. Для автоматизации процедуры можно использовать запрос-удаление.
Пример 6. Удалить записи в таблице «Работы», в которых значение в поле «Дата» меньше заданной.
1)Создаем запрос-выборку, в который включаем только те поля, которые используются в условии отбора
2)Задаем тип параметра
3) Выполняем запрос для проверки правильности отбора данных.
4) Запрос-выборка преобразуем в запрос-удаление. Для этого на вкладке Конструктор в группе Тип запроса: нажать кнопку Удаление
5) Выполняем запрос. Перед удалением будет выведено сообщение о количестве удаляемых записей