Чтобы выполнить запрос в Access базы данных запрашивают условия при его выполнении, создайте запрос параметров. Это даст возможность использовать запрос повторно, не открывая его в Конструктор для изменения условий.
Терминология
Прежде чем приступить к работе с приведенными ниже пошаговными инструкциями, полезно понять следующие термины:
-
Параметр. Параметр — это часть сведений, предоставляемых запросу при его выполнении. Параметры можно использовать отдельно или в составе длинных выражений для формирования условия запроса. Параметры можно добавить в запрос любого из следующих типов:
-
на выборку;
-
перекрестный;
-
на добавление;
-
на создание таблицы;
-
на обновление.
-
-
Критерии Критерии — это "фильтры", добавляемые в запрос, чтобы указать, какие элементы возвращаются при выполнении запроса.
Дополнительные сведения об указанных выше типах запросов см. в статье Знакомство с запросами.
Создание запроса с параметрами
Создание параметра аналогично добавлению обычного условия в запрос:
-
Создайте запрос на выборку, а затем откройте запрос в режиме конструктора.
-
В строке Условия поля, к которому требуется применить параметр, введите текст, который нужно отобразить в поле параметра, заключенный в квадратные скобки. Например, [Введите дату начала:]
-
Повторите шаг 2 для каждого поля, в которое необходимо добавить параметры.
При запуске запроса текст отображается без квадратных скобок.
Введите нужное значение и нажмите кнопку ОК.
В условии можно использовать несколько параметров. Например, выражение Between [Введите дату начала:] And [Введите дату окончания:] при выполнении запроса создаст два поля.
Дополнительные примеры условий запроса см. в разделе Примеры условий запроса.
Указание типов данных для параметра
Можно настроить параметр так, чтобы он принимал только определенный тип данных. Это особенно важно для числовых и денежных данных, а также данных даты и времени, так как в таком случае пользователи получат более содержательное сообщение об ошибке при вводе неправильного типа данных, например при вводе текста вместо денежного значения.
Примечание: Если параметр настроен на прием текстовых данных, любое введенное значение будет распознаваться как текст, а сообщение об ошибке не будет выводиться.
Чтобы задать тип данных для параметра в запросе, выполните указанные ниже действия.
-
Открыв запрос в режиме конструктора, на вкладке Конструктор запросов в группе Показать и скрыть щелкните Параметры.
-
В диалоговом окне Параметры запроса в столбце Параметр введите текст запроса на ввод каждого из параметров, для которых требуется указать тип данных. Проверьте, соответствуют ли параметры запросам на ввод, указанным в строке Условия в бланке запроса.
-
В столбце Тип данных выберите тип данных для каждого параметра.
Добавление параметра в запрос на объединение
Так как вы не можете просмотреть запрос на объединение в сетке конструктора запросов, вам потребуется сделать несколько иначе:
-
Откройте запрос на объединение в режиме SQL.
-
Добавьте к нему предложение WHERE, содержащее поля, в которые нужно добавить параметры.
Если предложение WHERE уже существует, проверьте, включены ли в него все поля, в которые нужно добавить параметры. Если это не так, добавьте их.
-
Введите запрос параметра в предложение WHERE, например WHERE [StartDate] = [Введите дату начала:].
Имейте в виду, что во все разделы запроса необходимо добавить одинаковые фильтры. На рисунке выше запрос содержит два раздела (разделенные ключевым словом UNION), поэтому параметр нужно добавить дважды. Но при выполнении запроса ввод данных запрашивается только один раз (предполагается, что во всех разделах указан одинаковый запрос).
Дополнительные сведения о запросах на объединение см. в статье Использование запроса объединения для объединения нескольких запросов в один результат.
Объединение параметров с помощью подстановочных знаков для большей гибкости
Как и в случае обычных условий, вы можете объединить параметры с помощью ключевого слова Like и подстановочных знаков для поиска соответствий в более широком диапазоне элементов. Предположим, что нужно запросить страну или регион и при этом сопоставить их со значениями, которые содержат строку параметра. Для этого выполните указанные ниже действия.
-
Создайте запрос на выборку, а затем откройте запрос в режиме конструктора.
-
В строке Условия поля, в которое нужно добавить параметр, введите Like "*"&[, текст сообщения, а затем ]&"*".
При выполнении запроса параметра запрос отображается в диалоговом окне без квадратных скобок и без ключевое слово или подстановочных знаков:
После ввода параметра запрос возвратит значения, содержащие строку параметра. Например, строка параметра us возвратит элементы, в которых поле параметра имеет значение "Австралия" или "Австрия".
Дополнительные сведения о подстановочных знаках см. в разделе Примеры подстановочных знаков.
Возвращает элементы, которые не соответствуют параметру
Вместо того, чтобы запрос возвращал элементы, соответствующие вашему параметру, может потребоваться, чтобы запрос возвращал элементы, которые ему не соответствуют. Например, может потребоваться запросить год и возвратить элементы со значением года, большим чем указанное. Для этого введите оператор сравнения слева от первой квадратной скобки, включающей запрос параметра, например >[Введите год:].
Видео: использование параметров в запросах
Использовать в запросе параметр не сложнее, чем создать запрос на основе условий. Запрос можно настроить таким образом, чтобы предлагалось ввести определенное значение, такое как артикул товара, или несколько значений, например две даты. Для каждого параметра запрос выводит отдельное диалоговое окно, в котором предлагается ввести значение.
В этом видео подробнее рассказывается о создании параметров в запросах.