Как создать параметрический запрос в access
Перейти к содержимому

Как создать параметрический запрос в access

  • автор:

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

Запрос с параметром. Специальный «интерактивный» тип запроса: прежде чем запрос будет выполнен, на экран выводится диалоговое окно с приглашением ввести один или ряд параметров, например условие отбора записей по определенному полю. Запрос, таким образом, допускает некоторую модификацию при каждом своем запуске, что очень удобно, например при генерировании месячных или квартальных отчетов о доходах предприятия. Запросы с параметрами могут быть отнесены к отдельному типу условно, так как ввод параметра можно организовать для запросов на выборку, запросов на изменение и перекрестных запросов.

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

Рассмотрим создание параметрического запроса на простом примере. В таблице Товары для каждого из товаров указана его фиксированная цена (поле ЦенаПродажи). Предположим, что в рамках предпраздничных акций на все товары объявляется некоторая скидка, величина которой может изменяться. Чтобы вычислить новые цены на товары с учетом той или иной скидки, можно создать запрос с параметром, в роли которого и будет выступать величина скидки.

Бланк запроса приведен на рис.1. Как видно, в бланке запроса создается новое вычисляемое поле, Цена со скидкой, в ячейку Поле которого вводится следующая формула: Цена со скидкой: [ЦенаПродажи]*(1-[Скидка в процентах]/100).

Рис. 1. Бланк запроса с одним параметром

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

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

После ввода параметра и щелчка на кнопке ОК значения вычисляемого поля рассчитываются с учетом указанной величины скидки. Результирующая таблица показана на рис.3.

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

Параметры могут использоваться также для ввода критерия отбора записей. Такой подход целесообразен, если заранее предполагается, что запрос будет запускаться неоднократно, но одно или несколько условий придется изменять. Например, в запросе к таблице Клиенты, отображающем список всех клиентов с указанием их данных, можно запрашивать наименование фирмы клиента. Тогда при каждом запуске запроса название фирмы, введенное пользователем в диалоговое окно Введите значение параметра, будет преобразовано в условие отбора, и в результирующую таблицу программа Access включит только те записи, которые соответствуют этому критерию. На рис.4 приведен бланк и диалоговое окно ввода такого запроса, в котором для поля Фирма в строке Условие отбора вместо конкретного значения указана подсказка для ввода параметра – [Введите название фирмы].

Рис. 4. Запрос с параметром, где параметром является условие отбора для поля Фирма

Создание запроса с параметром в Access

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

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

Пошаговая инструкция

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

Чтобы установить ввод параметра вместо определенного значения, следует ввести в раздел «Условие отбора» имя или фразу, заключенную в квадратные скобки. Только после этого, Access будет рассматривать информацию и выводить её как комментарий к параметрам. Для использования нескольких изменяемых критериев, следует придумать им уникальные имена.

  1. Для примера создайте запрос, демонстрирующий список преподавателей, работающих на определенной кафедре. Именно этот критерий будет изменяемым, потому в строчке «Условия отбора» необходимо ввести значение =[Введите название кафедры].
  2. Сохраните полученный фильтр под названием «Выборка преподавателям по кафедрам».
  3. Теперь после запуска вы увидите диалоговое окошко, в котором потребуется ввести необходимое название, после чего появится список преподавателей, которые числятся на этой кафедре.

Запрос с параметром в Aксесс можно задействовать в любом типе выборки: итоговой, перекрестной или в запросе-действии.

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

queryparametr

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

queryparametrs1

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

5. Нажмите кнопку run(Запуск), чтобы выполнить запрос. При выполнении запроса появляется диалоговое окно Введите значение параметра (Enter Parameter Value),

parametrvalue

в которое нужно ввести значение, например õpetaja. В результате выполнения запроса мы увидем только те имена и фамилии, чья должность — учитель.

queryparametrsvalmis

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

Параметрический запрос и « Like »

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

Рис. 1. Таблица «Вопросы и ответы»

Рис. 1. Таблица «Вопросы и ответы»

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

Рис. 2. Параметрический запрос в конструкторе

Рис. 2. Параметрический запрос в конструкторе

Затем проверяем выполнение, запустив запрос кнопкой с красным восклицательным знаком.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *