"InputParameters/入力パラメータ" プロパティ

適用対象

Form オブジェクト

Report オブジェクト

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

expression.InputParameters

expression 必須。[適用対象] の一覧のオブジェクトのうちの 1 つを返す式です。

解説

このプロパティは、プロパティ シート または Visual Basic for Applications (VBA) コードを使用して設定できます。

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

RecordSource プロパティの SQL ステートメントで使用されている例の InputParameter プロパティの文字列は、次の構文を使用します。

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

これにより、state パラメーターが StateList コントロールの現在の値に設定され、ユーザーに salesyear パラメーターを求めるメッセージが表示されます。このリストに含まれていないその他のパラメーターがある場合、それらのパラメーターに既定値が割り当てられます。

クエリは、InputParameter リスト内の既定ではない各パラメーターに対し、1 つの ? マーカーを使用して実行する必要があります。

Microsoft Office Access 2007 での更新または再クエリ コマンドは、クエリの再実行をトリガーする必要があります。ユーザーは、コードで標準の Recordset.Requery メソッドを呼び出すことでこれを行うことができます。パラメーターの値がフォームのコントロールにバインドされている場合、再クエリの実行時にコントロールの現在の値が使用されます。コントロールの値が変更されたときに、クエリは自動的に再実行されません。

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

ストアド プロシージャで使用される例の InputParameter プロパティの文字列は、次のようになります。

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

これにより、@state パラメーターが StateList コントロールの現在の値に設定され、ユーザーに @salesyear パラメーターを求めるメッセージが表示されます。このリストに含まれていないストアド プロシージャにその他のパラメーターがある場合、それらのパラメーターに既定値が割り当てられます。

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

Access での更新または再クエリ コマンドは、ストアド プロシージャの再実行をトリガーする必要があります。ユーザーは、コードで標準の Recordset.Requery メソッドを呼び出すことでこれを行うことができます。パラメーターの値がフォームのコントロールにバインドされている場合、再クエリの実行時にコントロールの現在の値が使用されます。コントロールの値が変更されたときに、ストアド プロシージャは自動的に再実行されません。

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

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

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×