Запрос с параметром

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

Построим запрос с параметром для получения сведений об отдельных контрактах. Запрос строится на базе таблицы «Контракты». Зададим поля запроса: «Товар», «Количество», «Клиент», «Дата». Целью запроса является получение данных о контрактах, заключенных отдельными клиентами, при задании названия их организаций. Для этого в QBE-бланке запроса в строке Условие отбора для поля «Клиент» введите параметр – любую подходящую по смыслу подсказку для ввода требуемого значения поля «Клиент», заключенную в квадратные скобки, например [Организация] (см. рис. 19).

 
 

Рис. 19. Окно Конструктора для создания запроса с параметром

 
 

При выполнении такого запроса на экране прежде всего появится диалоговое окно Введите значение параметра (см. рис. 20). Введите значение параметра Организация - одно из значений поля «Клиент» из таблицы «Клиенты» (без квадрат­ных скобок).

Рис. 20. Диалоговое окно ввода значения параметра запроса

Сохраните запрос под именем «Контракты клиентов».

Можно создать и более сложное условие выборки для запроса с параметром с использованием логических операторов. Например, для выборки информации о контрактах, заключенных после 1 марта, в поле «Дата» для таблицы «Контракты» нужно будет в строке Условие отбора записать (используется логический оператор «>»):

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

Если же нужно задать временной интервал выборки информации по дате, например после 1 марта, но до 1 мая текущего года, то необходимо в соответствующей строке Условие отбора записать:

>[Введите дату начала периода] and <[Введите дату конца периода]

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