Form.InputParameters プロパティ (Access)

InputParameters プロパティを使用して、フォームまたはレポートの RecordSource プロパティで SQL ステートメントに渡される入力パラメーター、または Microsoft Access プロジェクト (.adp) 内のレコード ソースとして使用されるストアド プロシージャを指定または決定します。 読み取り/書き込みが可能な String です。

構文

Inputparameters

expressionForm オブジェクトを表す変数です。

注釈

RecordSource プロパティで使用する場合

"InputParameters/入力パラメーター" プロパティの文字列を "RecordSource/レコードソース" プロパティの SQL ステートメントで使用する場合、以下の構文を使用します。

state char=[Forms]![formname]![StateList], salesyear smallint=[Forms]![formname]![Enter year of interest]

これにより、 state パラメーターが StateList コントロールの現在の値に設定され、ユーザーは salesyear パラメーターの入力を求められます。 このリストにないパラメーターがある場合、割り当てられた既定値を取得します。

クエリは、 InputParameters リストの既定以外のパラメーターごとに 1 つのマーカーで実行する必要があります。

Access の更新または再クエリ コマンド (メニュー、キーボード、またはナビゲーション バーを使用) は、クエリの再実行をトリガーする必要があります。 ユーザーは、標準 の Requery メソッドを呼び出すことによって、コードでこれを行うことができます。 パラメーターの値がフォームのコントロールに連結している場合、再クエリを実行するとコントロールの現在の値が使用されます。 コントロールの値を変更しても、クエリが自動的に再実行されることはありません。

ストアド プロシージャで使用する場合

ストアド プロシージャで使用される InputParameters プロパティ文字列の例では、次の構文を使用します。

@state char=[Forms]![formname]![StateList], @salesyear smallint=[Forms]![formname]![Enter year of interest]

これにより、パラメーターが @stateStateList コントロールの現在の値に設定され、ユーザーはパラメーターの入力を @salesyear 求められます。 この一覧に含まれていないストアド プロシージャに他のパラメーターがある場合は、既定値が割り当てられます。

ストアド プロシージャは、{call } 構文を含むコマンド文字列と 、InputParameters リスト内の既定以外のパラメーターごとに 1 つのマーカーを使用して実行する必要があります。

Access の更新または再クエリ コマンド (メニュー、キーボード、またはナビゲーション バーを使用) は、ストアド プロシージャの再実行をトリガーする必要があります。 ユーザーは、標準 の Requery メソッドを呼び出すことによって、コードでこれを行うことができます。 パラメーターの値がフォームのコントロールに連結している場合、再クエリを実行するとコントロールの現在の値が使用されます。 コントロールの値を変更しても、ストアド プロシージャが自動的に再実行されることはありません。

ストアド プロシージャにパラメーターがある場合、フォームのレコード ソースとしてストアド プロシージャを最初に選択したとき、このビルダーが表示されます。 InputParameters 文字列が新規作成された後は、この文字列を変更するためのビルダーとして、同じダイアログ ボックスが使用されます。 ただし、この場合、パラメーターの一覧は、文字列に既に存在するものから取得されます。

パラメーター値は、ActiveX データ オブジェクトの (ADO) Command オブジェクトと Parameter オブジェクトを使用して、コード内で設定することもできます。 結果が結果セットを返す場合は、フォームの Recordset プロパティを設定することで、フォームをそのセットにバインドできます。 ADO コーディングは、アクション クエリ、出力パラメーターを返すプロシージャ、複数の結果セットを返すストアド プロシージャなど、結果セットを返さないストアド プロシージャを処理する唯一の方法です。

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。