Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Запросы.doc
Скачиваний:
12
Добавлен:
13.02.2015
Размер:
4.18 Mб
Скачать

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

Запрос в Access является объектом, который сохраняется в файле базы данных и может многократно повторяться. Все запросы, которые мы демонстрировали до сих пор, содержали конкретные значения дат, названий, имен и т. д. Если требуется повторить такой запрос с другими значениями в условиях отбора, его нужно открыть в режиме Конструктора, изменить условие и выполнить. Чтобы не делать многократно этих операций, можно создать запрос с параметрами. При выполнении такого запроса выдается диалоговое окно Введите значение параметра (Enter Parameter Value), в котором пользователь может ввести конкретное значение и затем получить нужный результат.

Покажем, как создавать запросы с параметрами на примере запроса "Отсортированный список товаров", который мы создавали ранее. Теперь мы с помощью этого запроса попробуем отобрать товары, поставляемые определенным поставщиком. Для этого:

  1. Откройте данный запрос в режиме Конструктора.

  2. Чтобы определить параметр запроса, введите в строку Условие отбора (Criteria) для столбца "Название" (CompanyName) вместо конкретного значения слово или фразу и заключите их в квадратные скобки, например [Поставщик:]. Эта фраза будет выдаваться в виде приглашения в диалоговом окне при выполнении запроса.

  3. Если вы хотите, чтобы Access проверяла данные, вводимые в качестве параметра запроса, нужно указать тип данных для этого параметра. Обычно в этом нет необходимости при работе с текстовыми полями, т.к. по умолчанию параметру присваивается тип данных Текстовый (Text). Если же данные в поле запроса представляют собой даты или числа, рекомендуется тип данных для параметра определять. Для этого щелкните правой кнопкой мыши на свободном поле в верхней части запроса и выберите из контекстного меню команду Параметры (Parameters) или выполните команду меню Запрос, Параметры (Query, Parameters). Появляется диалоговое окно Параметры запроса (Query Parameters), представленное на рис. 4.31.

Рис. 4.31. Диалоговое окно Параметры запроса

  1. В столбец Параметр (Parameter) нужно ввести название параметра точно так, как он определен в бланке запроса (легче всего это сделать путем копирования через буфер обмена), только можно не вводить квадратные скобки. В столбце Тип данных (Data Type) выберите из раскрывающегося списка необходимый тип данных. Нажмите кнопку ОК.

  2. Нажмите кнопку Запуск (Run) на панели инструментов, чтобы выполнить запрос. При выполнении запроса появляется диалоговое окно Введите значение параметра (Input Parameter Value) (рис. 4.32), в которое нужно ввести значение, например Tokyo Traders. Результат выполнения запроса представлен на рис. 4.33. В него попадают только те товары, которые поставляются данным поставщиком.

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

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

Рис. 4.33. Результат выполнения запроса с параметром

Совет

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

Создание запроса из фильтра

Еще одним способом создания запроса является сохранение фильтра в виде запроса. Выше мы говорили, что фильтр используется при просмотре таблицы для отбора нужных записей. Если вы создали достаточно сложный фильтр в- окне Фильтр (Filter by Form) и знаете, что его придется использовать и в дальнейшем, можно сохранить его в базе данных в виде запроса. Для этого достаточно нажать кнопку Сохранить как запрос (Save as query) на панели инструментов при открытом окне Фильтр (Filter by Form).

  1. Откройте в режиме Таблицы таблицу "Клиенты" (Customers).

  2. Нажмите кнопку Изменить фильтр (Filter by form) на панели инструментов. Появится окно, в котором можно задать фильтр.

  3. Выберите из списка в поле Должность (ContactTitle) значение Менеджер по продажам (Sales Manager).

  4. Проверьте, как работает фильтр, нажав кнопку Применение фильтра (Apply filter) на панели инструментов. Убедившись, что фильтр работает правильно, вы можете сохранить его для дальнейшего использования.

  5. Нажмите кнопку Изменить фильтр (Filter by form) на панели инструментов еще раз, чтобы вернуться в окно определения фильтра.

  6. Нажмите кнопку Сохранить как запрос (File, Save As Query) на панели инструментов или выполните команду Файл, Сохранить как запрос (File, Save As Query). Появится диалоговое окно (рис. 4.34), в котором необходимо указать имя запроса: Менеджеры по продажам и нажать кнопку ОК.

  7. Снимите фильтр, нажав кнопку Удалить фильтр (Remove Filter).

Рис. 4.34. Сохранение фильтра в виде запроса

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

  • Можно, снова открыв таблицу "Клиенты" (Customers), установить сохраненный фильтр. Для этого нужно сначала открыть окно определения фильтра, нажав кнопку Изменить фильтр (Filter by form). Затем нажать кнопку Загрузить из запроса (Load from Query) на панели инструментов или выполнить команду Файл, Загрузить из запроса (File, Load from Query). При этом появится диалоговое окно Применяемый фильтр (Applicable Filter) (рис. 4.35), в котором требуется выделить в списке необходимый фильтр и нажать кнопку ОК или просто дважды щелкнуть левой кнопкой мыши по названию фильтра. Чтобы применить фильтр, нужно нажать кнопку Применение фильтра (Apply filter) на панели инструментов.

Рис. 4.35. Диалоговое окно Применяемый фильтр