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