Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по Access.doc
Скачиваний:
0
Добавлен:
31.12.2019
Размер:
409.6 Кб
Скачать

4.6. Создание параметрических запросов

В запросах выбора условия отбора вводятся непосредственно в бланках QBE окна запроса в режиме конструктора. Однако не всегда на этапе создания запроса можно решить, какие именно значения должен отыскивать Access. Вместо этого можно включить в запрос параметр и в этом случае перед выполнением запроса Access каждый раз будет запрашивать у пользователя конкретные условия отбора. Чтобы установить параметр, вместо конкретного значения в строку Условия отбора в бланке QBE нужно ввести имя или фразу, заключенную в квадратные скобки. То, что заключено внутри квадратных скобок, Access рассматривает как имя параметра. Это имя выводится в диалоговом окне при выполнении запроса, поэтому в качестве имени параметра следует использовать содержательную фразу. В одном запросе можно задать несколько параметров. При этом имя каждого параметра должно быть уникальным и информативным.

Фактически Запрос с параметрами - это запрос, при выполнении которого в его диалоговом окне пользователю выдается приглашение ввести данные, на основе которых будет выполняться запрос. Например, часто требуются данные о продажах на определенную дату. Чтобы не создавать отдельные запросы на каждую дату, можно создать один запрос с параметрами, где в качестве параметра будет использоваться дата. При каждом вызове этого запроса вам будет предложено ввести дату, а затем на экран будут выведены все поля, которые вы указали в запросе, со значениями на заданную дату.

Пример 12. Определить общую сумму продаж за определенный день.

Поле

Дата

Стоимость

Имя таблицы

ОТПУСК

ОТПУСК

Групповая операция

группировка

Sum

Условие отбора

[Введите дату]

4.7. Создание перекрестных запросов

Access поддерживает специальный тип итоговых запросов, называемый перекрестным запросом или запросом кросс-таблиц. Такой запрос позволяет увидеть вычисляемые значения в виде перекрестной таблицы, напоминающей электронную таблицу. Если необходимо объединить данные в формате строк-колонок (двумерная таблица), то следует создать запрос кросс-таблицы. При проектировании запроса кросс-таблицы можно указать в качестве заголовков для колонок значения некоторых полей или выражений. Запросы кросс-таблиц позволяют более компактно, чем обычные запросы, индицировать данные, объединяя однотипную информацию. При создании перекрестного запроса необходимо в режиме конструктора запроса выполнить команду Запрос/ Перекрестный. Access добавляет в бланк QBE строку Перекрестная таблица. В этой строке для каждого поля перекрестного запроса может быть выбрана одна из четырех установок: Заголовки строк, Заголовки столбцов, Значение (выводимое в сетке перекрестного запроса) и Не выводить.

Для перекрестного запроса нужно определить по крайней мере одно поле в качестве заголовка строки, одно поле в качестве заголовка столбца и одно поле значений. Каждое поле, являющееся заголовком строки или столбца, должно иметь в строке групповых операций установку Группировка. Для поля, которое в бланке запроса имеет установку Значение, нужно выбрать одну из групповых функций (Max, Min, Sum, Count, Avg,…) или ввести выражение, содержащее групповые функции.

Как и в других типах итоговых запросов, для отбора данных, включаемых в набор записей, можно использовать дополнительные поля. Для таких полей необходимо выбрать установку Условия в строке групповых операций и Не выводить в строке Перекрестная таблица, а затем ввести Условия отбора. Условия отбора и сортировки можно указать для любого поля, используемого в качестве заголовка.

Пример 13. Определить итоговые суммы продаж по месяцам (столбцы таблицы) для каждого наименования товара (строки).

Поле

Название

Month([Дата])

Стоимость

Имя таблицы

ТОВАРЫ

ОТПУСК

ОТПУСК

Групповая операция

Группировка

Группировка

Sum

Перекрестная таблица

Заголовки строк

Заголовки столбцов

Значение

Сортировка

По возрастанию

По возрастанию

Порядок столбцов в перекрестной таблице можно определить, используя бланк свойст запроса. Бланк свойств можно получить, если щелкнуть в любом месте верхней панели (вне списка полей) окна запроса в режиме конструктора, а затем по кнопке Свойства на панели инструментов.