Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Субд_Учебное_пособие (Бойченко, Туманова).doc
Скачиваний:
203
Добавлен:
02.03.2016
Размер:
8 Мб
Скачать
☆

Универсальные запросы с параметрами

Задание в запросе конкретных значений в действительности ограничивает область его применения. Если вы вдруг решите связаться с клиентами во время поездки на пляжи в Сочи, этот запрос вам не поможет – он всегда будет возвращать список клиентов из Москвы. Вместо того чтобы задавать конкретное условие, можно воспользоваться параметром.

Например, можно так преобразовать запрос Клиенты в Москве, чтобы город можно было выбрать при запуске запроса. В окне конструктора в строке Условие отбора поля Город надо удалить текст, а затем либо непосредственно, либо в окне Область ввода (Shift+F2) задавать подсказку в виде [Введите город]. (Для ввода длинного условия можно и обойтись без окна область ввода, ведь его можно набрать прямо в строке Условие отбора.) Параметр служит подсказкой, благодаря которой при запуске запроса вы узнаете, чего от вас хотят, а обрамляющие его квадратные скобки – это просто правило оформления.

При запуске измененного запроса (со страницы Запросы или из окна базы данных) Access выводит такое окно диалога:

Если теперь ввести Санкт-Петербург и щелкнуть на кнопке «OK», то Access выведет список клиентов из Санкт-Петербурга.

Использование нескольких параметров

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

Для еще большей гибкости при отборе записей можно задать не один, а несколько параметров – ровно столько, сколько вам потребуется. Например, вам нужен список клиентов из определенного города, сделавших заказы в некоторый интервал времени. Здесь понадобятся три параметра: название города, начальная и конечная даты периода оформления заказов. В запросе, который мы изменяли выше, один параметр уже есть, поэтому остается только ввести в поле Дата следующее условие: BETWEEN [Введите начальную дату] AND [Введите конечную дату]. Теперь при открытии запроса появятся три окна диалога. В первом можно ввести Санкт-Петербург, в остальных – начальную и конечную даты, например 1.1.96. и 6.1.96. Есть и другие способы использования двух параметров для одного поля. Конструкция BETWEEN … AND пригодна для проверки вхождения в диапазон числа или денежной единицы, например BETWEEN [Введите минимальную зарплату] AND [Введите максимальную зарплату]: это подходит для выборки, выводящей список сотрудников с определенным уровнем доходов.

Оператор OR (ИЛИ) не менее полезен для задания множественных параметров. При запуске запроса, в котором поле Город содержит один параметр, в ответ на запрос вы можете ввести только одно значение; указания Москва или Санкт-Петербург Access не поймет. Но если вам известно, что проверить надо два значения, то параметры можно задать так: [Введите один город] OR [Введите другой город]. Вы увидите две подсказки, и Access использует параметры в условии с оператором OR.