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

Как правило, запросы с параметром создаются в тех случаях, когда предполагается выполнять этот запрос многократно, изме­няя лишь условия отбора. В отличие от запроса на выборку, где для каждого условия отбора создается свой запрос и все эти за­просы хранятся в БД, параметрический запрос позволяет создать и хранить один единственный запрос и вводить условие отбора (значение параметра) при запуске этого запроса, каждый раз по­лучая новый результат. В качестве параметра может быть любой текст, смысл которого определяет значение данных, которые бу­дут выведены в запросе. Значение параметра задается в специаль­ном диалоговом окне. В случае, когда значение выводимых дан­ных должно быть больше или меньше указываемого значения параметра, в поле «Условие отбора» бланка запроса перед пара­метром, заключенным в квадратные скобки ставится соответст­вующий знак. Можно также создавать запрос с несколькими па­раметрами, которые связываются друг с другом логическими опе­рациями И и ИЛИ. В момент запуска запроса на выполнение MS Access отобразит на экране диалоговое окно для каждого из пара­метров. Помимо определения параметра в бланке запроса, необ­ходимо указать с помощью команды Запрос Параметры соот­ветствующий ему тип данных:

1. Откройте в режиме Конструктора окно запроса и добавьте в него таблицу. Создайте запрос, «перетащив» необходимые поля в бланк запроса и задав условие выбора.

2. В качестве условия введите параметр, заключенный в квад­ратные скобки (например, [Введите название] или >[Выше какого роста?]).

3. Выберите команду Запрос > Параметры.

4. В появившемся окне Параметры запроса введите без квад­ратных скобок параметр (для точности ввода воспользуй­тесь «быстрыми» клавишами копирования и вставки из бу­фера обмена) и укажите соответствующий ему тип данных. Нажмите ОК.

5. Нажмите кнопку Запуск панели инструментов.

6. В появившемся окне укажите значение параметра.

7. Результат запроса будет содержать только те записи, кото­рые удовлетворяют заданному значению параметра.