Как сделать запрос с параметром
Использование параметров для ввода данных при выполнении запроса
Чтобы настроить в запросе к базе данных рабочего стола Access ввод условий при его выполнении, создайте запрос с параметрами. Это даст возможность использовать запрос повторно, не открывая его в Конструктор для изменения условий.
Примечание: Эта статья не относится к веб-приложениям Access.
Терминология
Прежде чем перейти к описанной ниже пошаговой процедуре, полезно ознакомиться с несколькими терминами.
Параметр. Параметр — это часть сведений, предоставляемых запросу при его выполнении. Параметры можно использовать отдельно или в составе длинных выражений для формирования условия запроса. Параметры можно добавить в запрос любого из следующих типов:
на создание таблицы;
Условия. Условия — это «фильтры», добавляемые в запрос для указания элементов, которые он должен возвратить.
Дополнительные сведения об указанных выше типах запросов см. в статье Знакомство с запросами.
Создание запроса с параметрами
Создание параметра аналогично добавлению обычного условия в запрос:
Создайте запрос на выборку и откройте его в конструкторе.
В строке Условие отбора для поля, к которому нужно применить параметр, введите текст, который должен отображаться в поле параметра, заключенное в квадратные скобки. Например, [Введите дату начала:]
Повторите шаг 2 для каждого поля, в которое необходимо добавить параметры.
При запуске запроса текст отображается без квадратных скобок.
Введите нужное значение и нажмите кнопку ОК.
В условии можно использовать несколько параметров. Например, выражение Between [Введите дату начала:] And [Введите дату окончания:] при выполнении запроса создаст два поля.
Указание типов данных для параметра
Можно настроить параметр так, чтобы он принимал только определенный тип данных. Это особенно важно для числовых и денежных данных, а также данных даты и времени, так как в таком случае пользователи получат более содержательное сообщение об ошибке при вводе неправильного типа данных, например при вводе текста вместо денежного значения.
Примечание: Если параметр настроен на прием текстовых данных, любое введенное значение будет распознаваться как текст, а сообщение об ошибке не будет выводиться.
Чтобы задать тип данных для параметра в запросе, выполните указанные ниже действия.
Когда запрос открыт в конструкторе, на вкладке Конструктор в группе Показать или скрыть нажмите кнопку Параметры.
В диалоговом окне Параметры запроса в столбце Параметр введите текст запроса на ввод каждого из параметров, для которых требуется указать тип данных. Проверьте, соответствуют ли параметры запросам на ввод, указанным в строке Условия в бланке запроса.
В столбце Тип данных выберите тип данных для каждого параметра.
Добавление параметра в запрос на объединение
Так как запрос на объединение нельзя просмотреть в бланке запроса, действия с ним будут немного отличаться.
Откройте запрос на объединение в режиме SQL.
Добавьте к нему предложение WHERE, содержащее поля, в которые нужно добавить параметры.
Если предложение WHERE уже существует, проверьте, включены ли в него все поля, в которые нужно добавить параметры. Если нет, добавьте недостающие поля.
Введите запрос параметра в предложение WHERE, например WHERE [StartDate] = [Введите дату начала:].
Имейте в виду, что во все разделы запроса необходимо добавить одинаковые фильтры. На рисунке выше запрос содержит два раздела (разделенные ключевым словом UNION), поэтому параметр нужно добавить дважды. Но при выполнении запроса ввод данных запрашивается только один раз (предполагается, что во всех разделах указан одинаковый запрос).
Объединение параметров с помощью подстановочных знаков для большей гибкости
Как и в случае обычных условий, вы можете объединить параметры с помощью ключевого слова Like и подстановочных знаков для поиска соответствий в более широком диапазоне элементов. Предположим, что нужно запросить страну или регион и при этом сопоставить их со значениями, которые содержат строку параметра. Для этого выполните указанные ниже действия.
Создайте запрос на выборку и откройте его в конструкторе.
В строке Условия поля, в которое нужно добавить параметр, введите Like «*»&[, текст сообщения, а затем ]&»*».
При выполнении запроса с параметрами в диалоговом окне выводится сообщение с квадратными скобками, без ключевого слова Like и подстановочных знаков
:
После ввода параметра запрос возвратит значения, содержащие строку параметра. Например, строка параметра us возвратит элементы, в которых поле параметра имеет значение «Австралия» или «Австрия».
Дополнительные сведения о подстановочных знаках см. в статье Использование подстановочных знаков в качестве условий.
Возврат элементов, не соответствующих параметру
Вместо возврата элементов, соответствующих параметру, можно создать запрос, возвращающий элементы, которые ему не соответствуют. Например, может потребоваться запросить год и возвратить элементы со значением года, большим чем указанное. Для этого введите оператор сравнения слева от запроса параметра в квадратных скобках, например >[Введите год:].
Видео: использование параметров в запросах
Использовать в запросе параметр не сложнее, чем создать запрос на основе условий. Запрос можно настроить таким образом, чтобы предлагалось ввести определенное значение, такое как артикул товара, или несколько значений, например две даты. Для каждого параметра запрос выводит отдельное диалоговое окно, в котором предлагается ввести значение.
В этом видео подробнее рассказывается о создании параметров в запросах.
Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).
Запрос с параметром (параметрический запрос)
Как правило, запросы с параметром (рис. 10.34) создаются в тех случаях, когда предполагается выполнять этот запрос многократно, изменяя лишь условия отбора.
Чтобы определить параметр, введите в строку «Условие отбора» вместо конкретного значения имя или фразу, заключенную в квадратные скобки ([]). То, что заключено внутри квадратных скобок, Access рассматривает как имя параметра. Оно выводится в окне диалога при выполнении запроса, поэтому в качестве имени параметра разумно использовать содержательную фразу. В запросе можно задать
Рис. 10.34. Пример создания запроса с параметром
несколько параметров; при этом имя каждого из них должно быть уникальным и информативным.
Например, требуется создать параметрический запрос для отображения процессоров стоимостью до определенной суммы, их наименования, цены и телефона склада, где они хранятся (параметром является цена товара).
Перекрестный запрос
Перекрестный запрос – особый тип итогового запроса. Он позволяет вывести вычисляемые значения в перекрестной таблице, напоминающей электронную.
Для построения перекрестного запроса выполните следующие действия.
В режиме конструктора сформируйте запрос на выборку.
Измените тип запроса на Перекрестный (вкладка Работа с запросами, группа Тип запроса) (рис. 10.35).
Рис. 10.35. Кнопка Перекрестный запрос
В нижней части бланка запроса появятся строки «Групповая операция» и «Перекрестная таблица» (рис. 10.36).
В строке «Перекрестная таблица» для каждого поля запроса выберите одну из четырех установок: Заголовки строк, Заголовки столбцов. Значение (выводимое в ячейках перекрестной таблицы) или Не отображается.
Для перекрестного запроса определите поле (можно несколько) в качестве заголовков строк. Определите одно (и только одно) поле, которое будет использоваться в качестве заголовков столбцов.
Определите одно (и только одно) поле значений. Это поле должно быть итоговым (т.е. в строке «Групповая операция» должна быть задана одна из итоговых функций, на-
Рис. 10.36. Конструктор Перекрестного запроса
пример суммирования (Sum), определения среднего значения (Avg) или количества (Count)).
В качестве примера рассмотрим создание перекрестного запроса, отображающего количество товаров, хранящихся на складах. В заголовках строк укажем наименования товаров, в заголовках столбцов – номера складов (рис. 10.37).
Рис. 10.37. Пример создания перекрестного запроса
Вычисляемые поля в запросах
Запрос можно использовать для выполнения расчетов и подведения итогов из исходных таблиц.
Для создания вычисляемых полей можно использовать арифметические операторы и любые встроенные функции Access.
Вычисляемое поле может также содержать результат конкатенации (объединения) значений текстовых полей. Для этого заключите текст в кавычки, в качестве оператора конкатенации используется символ «&». Например, можно создать поле, которое будет содержать результат объединения поля [Фамилия] и поля [Имя].
Поле, содержимое которого является результатом расчета но содержимому других полей, называется вычисляемым полем. Вычисляемое поле существует только в результирующей таблице.
Создание вычисляемого поля осуществляется путем простого ввода выражения для вычисления в ячейку «Поле» пустого столбца бланка запроса (рис. 10.38).
Рис. 10.38. Создание вычисляемого поля
После выполнения запроса в результирующей таблице появится новое иоле с названием «Выражение1», используемым в качестве имени вычисленного выражения.
В режиме конструктора запроса измените имя «Выражение!» на более содержательное. В примере «Выражение!» изменено на «ЦенаСоСкидкой».
Для того чтобы ввести сложные вычисления, используйте окно Построитель выражений (рис. 10.39), которое вызывается командой , расположенной на вкладке Работа с запросами (в режиме конструктора) в группе Настройка запроса, либо соответствующей командой контекстного меню.
Рис. 10.39. Построитель выражений
В верхней части окна расположена пустая область ввода, предназначенная для создания выражения; в нижней находятся три списка, предназначенные для поиска необходимых полей и функций.
Построитель поможет правильно построить выражение. Щелкните на кнопке ОК, и введенное выражение будет перенесено в бланк запроса.
Настройка запроса с параметрами
Параметр Microsoft Query можно запрос путем изменения запроса, использования данных из ячейки в качестве запроса или константы.
Дополнительные сведения о создании запросов с параметрами см. в подмносях «Извлечение внешних данных с помощью Microsoft Query».
Примечание: Следующие процедуры не применимы к запросам, созданным с помощью Power Query.
Изменение настраиваемой подсказки для запроса с параметрами
Щелкните ячейку на любом месте диапазона внешних данных, созданного с помощью запроса с параметрами.
На вкладке «Данные» в группе «Запросы & Подключения» нажмите кнопку «Свойства».
В диалоговом окне «Свойства» нажмите кнопку «Свойства подключения» .
В диалоговом окне «Свойства подключения» перейдите на вкладку «Определение» и выберите «Параметры».
В диалоговом окне «Параметры» в списке «Имя параметра» выберите параметр, который нужно изменить.
В поле «Запрос значения» введите текст, который вы хотите использовать для запроса, и нажмите кнопку «ОК». Настраиваемая подсказка может содержать до 100 символов.
Чтобы использовать новый настраиваемый запрос и обновить данные, щелкните стрелку рядом с кнопкой «Обновить все» на вкладке «Данные», в группе «Запросы & Подключения» и выберите «Обновить».
В диалоговом окне «Введите значение параметра» отобразиться новое окно.
Примечание: При желании, чтобы избежать повторного запроса во время каждой операции обновления, можно использовать это значение или ссылку для будущих обновлений. Если в качестве значения параметра используются данные из ячейки, выберите «Обновлять автоматически» при смене значения ячейки.
На своем компьютере введите значения, которые вы хотите использовать в качестве условия в запросе.
Щелкните ячейку в любом месте диапазона внешних данных, созданного с помощью запроса.
На вкладке «Данные» в группе «Запросы & Подключения» нажмите кнопку «Свойства».
В диалоговом окне «Свойства» нажмите кнопку «Свойства подключения» .
В диалоговом окне «Свойства подключения» перейдите на вкладку «Определение» и выберите «Параметры».
В диалоговом окне «Параметры» в списке «Имя параметра» выберите параметр, который нужно изменить.
Щелкните «Получить значение из следующей ячейки».
На сайте щелкните ячейку со значением, которое вы хотите использовать.
Если вы хотите обновлять данные при изменении значения в ячейке, выберите «Обновлять автоматически» при изменении значения ячейки.
Чтобы обновить данные, щелкните стрелку рядом с кнопкой «Обновить все» на вкладке «Данные», в группе «Запросы & Подключения» и выберите «Обновить».
На своем компьютере щелкните ячейку в диапазоне внешних данных, который был создан с помощью запроса.
На вкладке «Данные» в группе «Запросы & Подключения» нажмите кнопку «Свойства».
В диалоговом окне «Свойства» нажмите кнопку «Свойства подключения» .
В диалоговом окне «Свойства подключения» перейдите на вкладку «Определение» и выберите «Параметры».
В диалоговом окне «Параметры» в списке «Имя параметра» выберите параметр, который нужно изменить.
Щелкните «Использовать следующее значение».
Введите значение параметра и нажмите кнопку «ОК».
Чтобы обновить данные, щелкните стрелку рядом с кнопкой «Обновить все» на вкладке «Данные», в группе «Запросы & Подключения» и выберите «Обновить».
Изменение настраиваемой подсказки для запроса с параметрами
Щелкните ячейку на любом месте диапазона внешних данных, созданного с помощью запроса с параметрами.
На вкладке «Данные» в группе «Подключения» нажмите кнопку «Свойства».
В диалоговом окне «Свойства» нажмите кнопку «Свойства подключения» .
В диалоговом окне «Свойства подключения» перейдите на вкладку «Определение» и выберите «Параметры».
В диалоговом окне «Параметры» в списке «Имя параметра» выберите параметр, который нужно изменить.
В поле «Запрос значения» введите текст, который вы хотите использовать для запроса, и нажмите кнопку «ОК». Настраиваемая подсказка может содержать до 100 символов.
Чтобы использовать новый настраиваемый запрос и обновить данные, щелкните стрелку рядом с кнопкой «Обновить все» на вкладке «Данные» в группе «Подключения». Затем нажмите кнопку «Обновить».
В диалоговом окне «Введите значение параметра» отобразиться новое окно.
Примечание: При желании, чтобы избежать повторного запроса во время каждой операции обновления, можно использовать это значение или ссылку для будущих обновлений. Если в качестве значения параметра используются данные из ячейки, выберите «Обновлять автоматически» при смене значения ячейки.
Примечание: Если вы хотите сохранить изменения в настраиваемом запросе, сохраните книгу. Вы также можете изменить запрос, чтобы изменить его. Дополнительные сведения о редактировании запроса Microsoft Query см. в справке Microsoft Query.
На своем компьютере введите значения, которые вы хотите использовать условия в запросе.
Щелкните ячейку в любом месте диапазон внешних данных, созданной с помощью запроса с параметрами.
На вкладке «Данные» в группе «Подключения» нажмите кнопку «Свойства».
В диалоговом окне «Свойства» нажмите кнопку «Свойства подключения» .
В диалоговом окне «Свойства подключения» перейдите на вкладку «Определение» и выберите «Параметры».
В диалоговом окне «Параметры» в списке «Имя параметра» выберите параметр, который нужно изменить.
Щелкните «Получить значение из следующей ячейки».
На компьютере щелкните ячейку со значением, которое вы хотите использовать.
Если вы хотите обновлять данные при изменении значения в ячейке, выберите «Обновлять автоматически» при изменении значения ячейки.
Чтобы обновить данные, щелкните стрелку рядом с кнопкой «Обновить все» на вкладке «Данные» в группе «Подключения» и выберите «Обновить».
В Excel щелкните ячейку в диапазон внешних данных, созданной с помощью запрос с параметрами.
На вкладке «Данные» в группе «Подключения» нажмите кнопку «Свойства».
В диалоговом окне «Свойства» нажмите кнопку «Свойства подключения» .
В диалоговом окне «Свойства подключения» перейдите на вкладку «Определение» и выберите «Параметры».
В диалоговом окне «Параметры» в списке «Имя параметра» выберите параметр, который нужно изменить.
Щелкните «Использовать следующее значение».
Введите значение параметра и нажмите кнопку «ОК».
Чтобы обновить данные, щелкните стрелку рядом с кнопкой «Обновить все» на вкладке «Данные» в группе «Подключения» и выберите «Обновить».
Изменение настраиваемой подсказки для запроса с параметрами
Щелкните ячейку на любом месте диапазона внешних данных, созданного с помощью запроса с параметрами.
На вкладке «Данные» в группе «Подключения» нажмите кнопку «Свойства».
В диалоговом окне «Свойства» нажмите кнопку «Свойства подключения» .
В диалоговом окне «Свойства подключения» перейдите на вкладку «Определение» и выберите «Параметры».
В диалоговом окне «Параметры» в списке «Имя параметра» выберите параметр, который нужно изменить.
В поле «Запрос значения» введите текст, который вы хотите использовать для запроса, и нажмите кнопку «ОК». Настраиваемая подсказка может содержать до 100 символов.
Чтобы использовать новый настраиваемый запрос и обновить данные, щелкните стрелку рядом с кнопкой «Обновить все» на вкладке «Данные» в группе «Подключения». Затем нажмите кнопку «Обновить».
В диалоговом окне «Введите значение параметра» отобразиться новое окно.
Примечание: При желании, чтобы избежать повторного запроса во время каждой операции обновления, можно использовать это значение или ссылку для будущих обновлений. Если в качестве значения параметра используются данные из ячейки, выберите «Обновлять автоматически» при смене значения ячейки.
Примечание: Если вы хотите сохранить изменения в настраиваемом запросе, сохраните книгу. Вы также можете изменить запрос, чтобы изменить его. Дополнительные сведения о редактировании запроса Microsoft Query см. в справке Microsoft Query.
На своем компьютере введите значения, которые вы хотите использовать условия в запросе.
Щелкните ячейку в любом месте диапазон внешних данных, созданной с помощью запроса с параметрами.
На вкладке «Данные» в группе «Подключения» нажмите кнопку «Свойства».
В диалоговом окне «Свойства» нажмите кнопку «Свойства подключения» .
В диалоговом окне «Свойства подключения» перейдите на вкладку «Определение» и выберите «Параметры».
В диалоговом окне «Параметры» в списке «Имя параметра» выберите параметр, который нужно изменить.
Щелкните «Получить значение из следующей ячейки».
На компьютере щелкните ячейку со значением, которое вы хотите использовать.
Если вы хотите обновлять данные при изменении значения в ячейке, выберите «Обновлять автоматически» при изменении значения ячейки.
Чтобы обновить данные, щелкните стрелку рядом с кнопкой «Обновить все» на вкладке «Данные» в группе «Подключения» и выберите «Обновить».
В Excel щелкните ячейку в диапазон внешних данных, созданной с помощью запрос с параметрами.
На вкладке «Данные» в группе «Подключения» нажмите кнопку «Свойства».
В диалоговом окне «Свойства» нажмите кнопку «Свойства подключения» .
В диалоговом окне «Свойства подключения» перейдите на вкладку «Определение» и выберите «Параметры».
В диалоговом окне «Параметры» в списке «Имя параметра» выберите параметр, который нужно изменить.
Щелкните «Использовать следующее значение».
Введите значение параметра и нажмите кнопку «ОК».
Чтобы обновить данные, щелкните стрелку рядом с кнопкой «Обновить все» на вкладке «Данные» в группе «Подключения» и выберите «Обновить».
Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.