- •Лекция №2 Сложные запросы Итоговые (Групповые) запросы.
- •Отображение строки групповых операций
- •Параметры строки групповых операций
- •Выполнение групповых операций для группы записей
- •Определение критерия для группового запроса
- •Определение критерия для поля группировки
- •Определение критерия для итогового поля
- •Определение критерия для неитогового поля
Выполнение групповых операций для группы записей
Гораздо чаще возникает необходимость выполнить групповые операции для отдельной группы записей, а не для всех записей Другими словами, необходимо создать группы, а затем выполнить вычисления для каждой из этих групп.
При создании таких запросов необходимо указать, какое поле (или поля) используется для группировки, и поля, для которых выполняются вычисления.
Определение критерия для группового запроса
Кроме группирования записей для запросов, можно указать критерий для ограничения количества записей, которые будут рассматриваться при вычислениях и отображении результатов. Критерии или условия отбора могут применяться к любому из следующих трех типов полей.
Поле группировки
Итоговое поле
Неитоговое поле
Использование одного, двух или всех трех таких критериев позволяет легко ограничить область действия группового запроса.
Определение критерия для поля группировки
Для ограничения количества группируемых записей необходимо определить критерий (условие отбора) для полей группировки. Например, можно вычислить средний вес и длину только трех типов животных — медведей, оленей и волков. При выполнении сложных вычислений и указанном критерии в поле группировки рассматриваются только те записи, для которых выполняется данный критерий.
Определение критерия для итогового поля
Иногда необходимо выполнить запрос на вычисление итоговых величин и вывести только те результаты, которые удовлетворяют определенным критериям. Другими словами, сначала вычисляются итоги для каждого поля, по которому идет группирование, а затем, перед созданием результирующего динамического набора данных, к итоговому полю применяется условие отбора, т. е. Условие применяется после выполнения итоговых вычислений.
Определение критерия для неитогового поля
В предыдущем примере были выбраны записи после выполнения вычислений, однако можно заставить Access делать это до вычислений. Иными словами — ограничить диапазон записей, по которым проводятся вычисления. Для этого достаточно задать условие как для первого вида критериев, однако поле для этого условия не должно быть полем группировки.
Access автоматически отключает опцию Вывод на экран для поля, у которого в строке Групповая операция вводится значение Условие. Программа Access понимает, что вы используете поле только для определения условия отбора и не хотите отображать реальные значения этого поля.
Когда вы определяете опцию Условие в строке Групповая операция, вы не сможете увидеть этого поля. Access использует его исключительно для проверки критерия Условие до вычислений. Если вы попытаетесь включить показ этого поля, Access выдаст сообщение об ошибке
Создание перекрестных запросов
Для отображения выборочных данных в компактном и удобочитаемом виде Access может формировать специальный тип группового запроса — перекрестный.
Перекрестный запрос — это выборка данных, записанная в виде двумерной матрицы, которая создана из таблицы Access. Этот запрос представляет определенные данные из выбранных полей в формате, похожем на формат электронной таблицы. Это специальный тип группового запроса, для которого строка Групповая операция всегда включена. Строка Групповая операция для перекрестного запроса не может быть выключена!
Подобно другим групповым запросам, функция Группировка определяет заголовок строки для результирующей таблицы (заголовок строки является значением поля). Однако, в отличие от других групповых запросов, перекрестные запросы определяют заголовки столбцов на основании значения поля (табличного или вычисляемого), а не на основании его названия.
Поля, используемые в качестве строк или столбцов, должны всегда содержать функцию Группировка в строке Групповая операция. В противном случае Access выдаст сообщение об ошибке при попытке выполнить запрос.
При выборе запроса типа Перекрёстный в бланке Конструктора запроса между строками Групповая операция и Сортировка добавляется новая строка — Перекрестная таблица (Crosstab).
Для перекрестного запроса в строке Перекрестная таблица необходимо указать, как минимум, три следующих параметра.
Поле заголовков строк (должно иметь в строке Групповая операция значение Группировка)
Поле заголовков столбцов (должно иметь в строке Групповая операция значение Группировка)
Поле для выбора значения (будет выводиться в сетке перекрёстного запроса); для этого поля необходимо выбрать одну из итоговых функций
Определение критериев для перекрестного запроса
Можно определить критерии для записей, как и в случае запросов на выборку. Критерий может быть определен для одного из следующих типов полей.
Новое поле
Поле Заголовка строки (Row Heading)
Поле Заголовка столбца (Column Heading)
Определение критерия в новом поле
Вы можете добавить критерий (условие отбора) в новое поле, которое затем не будет показано при выводе результата выполнения запроса.
Определение условия отбора в поле заголовка строки
Вы можете определить условие отбора и в поле, используемом в качестве заголовка строки. При определении условия отбора в таком поле Access исключает все строки, не соответствующие условию отбора.
Определение условия отбора в поле заголовка столбца
Вы можете определить условие отбора и в поле, используемом в качестве заголовка столбца. При определении условия отбора в таком поле Access исключает все столбцы, не соответствующие условию отбора.
Резюме
Групповые запросы могут работать как со всеми записями таблицы, так и с группами записей таблицы.
В групповых запросах можно указывать условия отбора записей. Эти условия отбора могут быть установлены для поля группировки, для итогового поля после выполнения итоговых вычислений или для неитогового поля перед выполнением итоговых вычислений.
Групповой запрос может быть создан на основе выражения, в котором используются одна или несколько итоговых опций строки групповых операций и/или нескольких функций Access.
Перекрестный запрос — это двумерная выборочная матрица, в которой заголовки строк и столбцов определяются значениями полей.
Перекрестный запрос может иметь несколько полей , определяющих заголовки строк, но только одно поле для определения заголовков столбцов и одно поле для определения значений ячеек.
В перекрестном запросе порядок следования заголовков столбцов можно указать в окне свойств запроса, определив этот порядок в строке Заголовки столбцов (Column Headings).
Мастер перекрестных запросов упрощает создание новых перекрестных запросов.
