Запрос с параметром (параметрический запрос)

Как правило, запросы с параметром (рис. 10.34) создаются в тех случаях, когда предполагается выполнять этот запрос многократно, изменяя лишь условия отбора.

Чтобы определить параметр, введите в строку "Условие отбора" вместо конкретного значения имя или фразу, заключенную в квадратные скобки ([]). То, что заключено внутри квадратных скобок, Access рассматривает как имя параметра. Оно выводится в окне диалога при выполнении запроса, поэтому в качестве имени параметра разумно использовать содержательную фразу. В запросе можно задать

Рис. 10.34. Пример создания запроса с параметром

несколько параметров; при этом имя каждого из них должно быть уникальным и информативным.

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

Перекрестный запрос

Перекрестный запрос – особый тип итогового запроса. Он позволяет вывести вычисляемые значения в перекрестной таблице, напоминающей электронную.

Для построения перекрестного запроса выполните следующие действия.

В режиме конструктора сформируйте запрос на выборку.

Измените тип запроса на Перекрестный (вкладка Работа с запросами, группа Тип запроса) (рис. 10.35).

Рис. 10.35. Кнопка Перекрестный запрос

В нижней части бланка запроса появятся строки "Групповая операция" и "Перекрестная таблица" (рис. 10.36).

В строке "Перекрестная таблица" для каждого поля запроса выберите одну из четырех установок: Заголовки строк, Заголовки столбцов. Значение (выводимое в ячейках перекрестной таблицы) или Не отображается.

Для перекрестного запроса определите поле (можно несколько) в качестве заголовков строк. Определите одно (и только одно) поле, которое будет использоваться в качестве заголовков столбцов.

Определите одно (и только одно) поле значений. Это поле должно быть итоговым (т.е. в строке "Групповая операция" должна быть задана одна из итоговых функций, на-

Рис. 10.36. Конструктор Перекрестного запроса

пример суммирования (Sum), определения среднего значения (Avg) или количества (Count)).

В качестве примера рассмотрим создание перекрестного запроса, отображающего количество товаров, хранящихся на складах. В заголовках строк укажем наименования товаров, в заголовках столбцов – номера складов (рис. 10.37).

Рис. 10.37. Пример создания перекрестного запроса

Вычисляемые поля в запросах

Запрос можно использовать для выполнения расчетов и подведения итогов из исходных таблиц.

Для создания вычисляемых полей можно использовать арифметические операторы и любые встроенные функции Access.

Вычисляемое поле может также содержать результат конкатенации (объединения) значений текстовых полей. Для этого заключите текст в кавычки, в качестве оператора конкатенации используется символ "&". Например, можно создать поле, которое будет содержать результат объединения поля [Фамилия] и поля [Имя].

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

Создание вычисляемого поля осуществляется путем простого ввода выражения для вычисления в ячейку "Поле" пустого столбца бланка запроса (рис. 10.38).

Рис. 10.38. Создание вычисляемого поля

После выполнения запроса в результирующей таблице появится новое иоле с названием "Выражение1", используемым в качестве имени вычисленного выражения.

В режиме конструктора запроса измените имя "Выражение!" на более содержательное. В примере "Выражение!" изменено на "ЦенаСоСкидкой".

Для того чтобы ввести сложные вычисления, используйте окно Построитель выражений (рис. 10.39), которое вызывается командой , расположенной на вкладке Работа с запросами (в режиме конструктора) в группе Настройка запроса, либо соответствующей командой контекстного меню.

Рис. 10.39. Построитель выражений

В верхней части окна расположена пустая область ввода, предназначенная для создания выражения; в нижней находятся три списка, предназначенные для поиска необходимых полей и функций.

Построитель поможет правильно построить выражение. Щелкните на кнопке ОК, и введенное выражение будет перенесено в бланк запроса.