メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

適用対象

Form オブジェクト

Report オブジェクト

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

expression.InputParameters

expression 必ず指定します。 [適用先] リスト内のいずれかのオブジェクトを返す式。

解説

このプロパティは、プロパティ シート または 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 コーディングは、アクション クエリなどの結果セットを返さないストアド プロシージャ、出力パラメーターを返すストアド プロシージャ、または複数の結果セットを返すストアド プロシージャを処理する唯一の方法です。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

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

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×