Применение
Объект Form |
Объект Report |
Свойство InputParameters можно использовать для указания или определения входных параметров, передаваемых инструкции SQL в свойстве RecordSource формы, отчета или хранимая процедура при использовании в качестве источник записей в Проект Microsoft Access (ADP). Возвращает доступное для чтения и записи значение типа String.
выражение.InputParameters
Выражение Обязательный. Выражение, возвращающее один из объектов в списке Применяется к.
Замечания
Это свойство можно задать с помощью Окно свойства или кода Visual Basic для приложений (VBA).
Использование со свойством RecordSource
При использовании строки свойства InputParameter с инструкцией SQL в свойстве RecordSource применяется следующий синтаксис:
state char=[Forms]![имяФормы]![списокСтран], salesyear smallint=[Forms]![имяФормы]![Введите год]
В результате параметр state примет текущее значение элемента управления StateList и будет выведен запрос на ввод параметра salesyear. Любые другие параметры, не указанные в списке, получат значения по умолчанию.
Запрос должен выполняться с одним маркером ? для каждого параметра списка InputParamemeter, который не должен иметь значение по умолчанию.
Команда обновления или повторного запроса в Microsoft Office Access 2007 приводит к повторному запуску запроса. Кроме того, для этого можно вызвать в коде стандартный метод Recordset.Requery. Если значение параметра привязано к элементу управления в форме, при повторном запросе используется текущее значение элемента управления. Запрос не выполняется автоматически при изменении значении элемента управления.
Использование с хранимой процедурой
Ниже приведен пример, в котором строка свойства InputParameter используется с хранимой процедурой:
@state char=[Forms]![имяФормы]![списокСтран], @salesyear smallint=[Forms]![имяФормы]![Введите год]
В результате параметр @state примет текущее значение элемента управления StateList и будет выведен запрос на ввод параметра @salesyear. Любые другие параметры хранимой процедуры, не указанные в списке, получат значения по умолчанию.
Хранимая процедура должна выполняться с использованием командной строки с синтаксисом {call } и одним маркером ? для каждого параметра из списка InputParameter, который не должен иметь значение по умолчанию.
Команда обновления или повторного запроса в Access приводит к повторному запуску хранимой процедуры. Кроме того, для этого можно вызвать в коде стандартный метод Recordset.Requery. Если значение параметра привязано к элементу управления в форме, при повторном запросе используется текущее значение элемента управления. Хранимая процедура не выполняется автоматически при изменении значении элемента управления.
Если хранимая, имеющая параметры, впервые выбрана в качестве источника записей формы, вызывается диалоговое окно построителя. После первоначального создания InputParamenters это же диалоговое окно используется в качестве построителя для изменения строки. Однако в этом случае список параметров будет содержать уже имеющиеся в этой строке параметры.
Значения параметров также можно задать в коде с помощью объектов Command и Parameter ADO. Если возвращается результирующий набор, с ним можно связать форму, задав ее свойство Recordset. Программирование с помощью объектов ADO является единственным способом использования тех хранимых процедур, которые не возвращают результирующий набор (например, запросы на изменение), которые возвращают выходные параметры или которые возвращают несколько результирующих наборов.