Accessで「パラメーターの入力」が表示される原因と消す方法|突然出る時の対処法

概要

この記事の結論
意図しない「パラメーターの入力」は、Accessがクエリやフォーム、レポートなどに書かれた識別子や式を正しく解釈できないときに表示されます。代表例は、フィールド名の誤記・変更後の古い参照、開いていないフォームのコントロール参照、フォーム/レポート/コンボボックス等のソース式の誤りです。まずダイアログに表示された名前を控え、その文字列を手掛かりに参照元を特定します。なお、パラメータークエリとして意図的に表示している場合は正常動作です。

この記事でわかること

  • 正常なパラメーター入力と、意図しない入力要求の違い
  • 突然表示される代表原因7つと、表示された文字列から原因を探す方法
  • クエリ/フォーム/レポート/コンボボックス/テーブル別の確認場所
  • フォーム参照 [Forms]![フォーム名]![コントロール名] で注意するポイント
  • 意図的にパラメータークエリを使う場合の正しい設定方法

この記事の主な内容

  1. Accessの「パラメーターの入力」とは?正常な表示と意図しない表示を30秒で判別
  2. 意図せず「パラメーターの入力」が出る主な原因7つ
  3. クエリで表示される場合の確認方法|フィールド・抽出条件・式をチェック
  4. フォーム・レポート・コンボボックス・テーブルで表示される場合の確認場所
  5. 原因箇所が見つからないときの切り分け手順|表示された識別子から追う
  6. 意図的にパラメータークエリを使う場合の正しい設定|データ型とフォーム利用
  7. まとめ|適当な値を入れず「表示された名前」から参照元を直す
  8. よくある質問(FAQ)

想定読了時間:約10分~13分


1. Accessの「パラメーターの入力」とは?正常な表示と意図しない表示を30秒で判別

「パラメーターの入力」は、Accessがクエリなどを実行するときに必要な値をユーザーへ尋ねるダイアログです。検索期間や担当者コードをその都度入力させるため、あえて表示させる使い方があります。一方、作成者が意図していないのに突然表示される場合は、Accessが式の中にあるフィールド名やコントロール名を見つけられず、それを「入力すべきパラメーター」と解釈している可能性があります。

したがって、最初に確認すべきなのは「この入力要求は元から意図したものか」です。見覚えのないフィールド名やフォーム名がそのままダイアログに出ている場合は、値を入力して通すのではなく、表示された文字列を記録して参照元を探します。

Accessの正常なパラメータークエリと、参照エラーによる意図しない「パラメーターの入力」の違いを比較した図
区分表示の意味代表例対応
正常なパラメーター入力作成者が検索条件の入力を求めるように設定している[開始日を入力してください:]必要な値を入力して実行する
意図しない入力要求Accessが識別子や式を解釈できず、値として入力を求めている[売上金額旧]、[Forms]![売上入力]![担当ID] など表示名を控えて誤参照を修正する

入力欄には何を入れればよい?

見覚えのない名前が表示された場合は、原則として適当な値を入力しない方が安全です。たまたま処理が先へ進んでも、本来参照すべきフィールドやコントロールの値ではないため、抽出結果が0件になったり、誤った集計結果が表示されたりする可能性があります。

最初にやること
ダイアログへ表示された文字列をそのままメモまたは画面キャプチャし、[キャンセル]で処理を止めます。この文字列が原因箇所を追うための最重要ヒントになります。

2. 意図せず「パラメーターの入力」が出る主な原因7つ

意図しない入力要求は、クエリの抽出条件だけが原因とは限りません。Accessでは、フォーム・レポート・コンボボックス・テーブルのルックアップなど、複数の場所からフィールドやコントロールを参照できます。そのため、どこか1か所に古い名前や存在しない識別子が残っているだけでも、オブジェクトを開いたタイミングでパラメーター入力が表示されます。

Accessで意図しない「パラメーターの入力」が表示される主な原因7つを、発生場所とともに整理した図
No.主な原因発生しやすい場所確認・対処
1フィールド名・識別子の誤字クエリのフィールド、抽出条件、計算式スペル・全角半角・名称を実在するフィールドと照合
2名称変更・削除後の旧参照クエリ、フォーム、レポート、並べ替え式など旧フィールド名・旧コントロール名を探して修正
3閉じたフォームの値を参照クエリの抽出条件や式参照先フォームを先に開く/設計を見直す
4フォームのレコードソース誤りフォームの[レコードソース]元クエリ・テーブルとフィールド名を確認
5レポートのコントロールソース誤りテキストボックス等の[コントロールソース]存在しないフィールドや式を修正
6レポートのグループ化・並べ替え誤り[グループ化と並べ替え]の式旧フィールド名や式を修正
7値集合ソースの誤りコンボ/リスト/テーブルのルックアップ[値集合ソース]のSQL・クエリ・フィールドを確認

1. フィールド名や識別子を間違えている

最も基本的な原因は、クエリの[フィールド]行や[抽出条件]、計算式に存在しない名前が入っているケースです。たとえば「売上金額」というフィールドを「売上額」と書いた場合、Accessはその名前をフィールドとして見つけられず、入力パラメーターとして扱うことがあります。

2. フィールド名を変更・削除した後に旧名が残っている

項目名を変更した直後に入力要求が出るようになった場合は、以前のフィールド名が別オブジェクトに残っている可能性があります。クエリ本体だけを修正しても、フォームのコントロールソース、レポートの並べ替え、コンボボックスの値集合ソースなどに旧名が残っていれば、そこから再びパラメーター入力が発生します。

3. クエリが参照しているフォームが開いていない

クエリの抽出条件にフォーム上の値を指定する設計では、参照先フォームが開いていることが前提になります。フォームを開かずにクエリだけを直接実行すると、参照値を取得できず、入力パラメーターとして扱われることがあります。具体的な確認方法は次章で図解します。

4~7. フォーム・レポート・値集合ソースにも参照ミスが残る

クエリ単体では問題がないのに、特定のフォームやレポートを開いたときだけ入力要求が出る場合は、そのオブジェクト固有のプロパティを疑います。とくに長期間改修されてきたAccessでは、見た目には使っていないテキストボックスや並べ替え条件、コンボボックスのSQLに古い参照が残っていることがあります。


3. クエリで表示される場合の確認方法|フィールド・抽出条件・式をチェック

クエリを直接開いた時点で「パラメーターの入力」が出る場合は、まずクエリのデザインビューを確認します。最初からSQL全文を読み解く必要はありません。[フィールド]、[抽出条件]、計算フィールドの式を順番に見ると、初心者でも原因を絞り込みやすくなります。

Accessクエリのデザインビューで「パラメーターの入力」の原因を探すために確認するフィールド・抽出条件・計算式の場所
確認場所チェック内容よくある異常
[フィールド]行表示しているフィールド名が元テーブル/クエリに存在するか削除済み・名称変更済みの旧フィールド名
[抽出条件]行条件式のフィールド・フォーム参照が正しいか[Forms]![フォーム名]![コントロール名] の誤り
計算フィールド式内の識別子や関数が正しいかExpr1: [単価]*[数量旧] のような旧名参照
テーブル/クエリ結合参照元が変更されていないか差し替えたテーブルに必要フィールドがない
SQLビューデザインビューで見つからない参照を確認WHERE / ORDER BY / SELECT 内に旧名が残る

フォーム参照 [Forms]![フォーム名]![コントロール名] を確認する

クエリの抽出条件にフォーム上の値を指定する場合は、参照先フォームが開いていることが前提です。たとえば、次のような式で「売上伝票入力」フォームの「売上ID」コントロールを参照しているとします。

[Forms]![売上伝票入力]![売上ID]

このクエリをフォームを開かずに直接実行すると、Accessは参照値を取得できず、式そのものや一部の名前をパラメーターとして入力するよう求めることがあります。フォームが開いていても、フォーム名やコントロール名が変更されていれば同様に参照できません。

Accessのクエリがフォーム上の値を参照するとき、フォームが開いている場合は値を取得でき、閉じている場合はパラメーター入力が出る仕組み

ダイアログに出た名前と同じ文字列を探す

原因を早く見つけるコツは、ダイアログに表示された名前とクエリ内の文字列を照合することです。たとえば「売上金額旧」と表示されるなら、クエリのフィールド行・抽出条件・計算式・SQLビューのどこかに同じ名前が残っていないかを確認します。

また、クエリのフィールド欄が「Expr1」などの自動名になっている場合は、元の計算式を開いて参照先を確認します。式の構造が複雑なときは、一度に複数箇所を直さず、どの式を外すと入力要求が消えるかを切り分けていく方が安全です。


4. フォーム・レポート・コンボボックス・テーブルで表示される場合の確認場所

クエリ単体では正常なのにフォームやレポートを開くと表示される場合は、元クエリ以外のプロパティが原因である可能性が高まります。Accessでは、オブジェクトごとにデータの参照元を指定するプロパティが異なるため、発生する画面に応じて確認場所を変えます。

オブジェクト主な確認プロパティ何を確認するか
フォームレコードソース(Record Source)フォーム全体の元データ。クエリ名・テーブル名・SQL・フィールドの存在
フォーム上のコントロールコントロールソース(Control Source)テキストボックス等が参照するフィールドや計算式
レポートレコードソース(Record Source)帳票全体の元データが正しいか
レポート上のコントロールコントロールソース(Control Source)旧フィールド名や存在しない式が残っていないか
レポートグループ化と並べ替えグループ/並べ替え式に旧フィールド名が残っていないか
コンボ/リストボックス値集合ソース(Row Source)SQL・クエリ・表示列に存在しないフィールドがないか
テーブルのルックアップ値集合ソース(Row Source)ルックアップ元クエリやフィールド名が正しいか

レポートではコントロールソースと「グループ化と並べ替え」を確認

レポートを開いたときだけ入力要求が出るケースでは、テキストボックスの[コントロールソース]だけでなく、[グループ化と並べ替え]も忘れずに確認します。フィールド名を変更した後、並べ替え条件の旧名が残っていると、元クエリが正常でもレポート表示時にパラメーター入力が発生することがあります。

Accessレポートで「パラメーターの入力」が出るときに確認するコントロールソースとグループ化・並べ替えの場所

コンボボックス・リストボックス・テーブルのルックアップは値集合ソースを見る

入力フォームで特定のコンボボックスを操作したときにだけ表示される場合は、[値集合ソース]を確認します。値集合ソースにはSQL文や保存クエリを設定できるため、表示列のフィールド名を変更した後などに旧名が残りやすい場所です。テーブルのルックアップフィールドも同じ考え方で、元となるクエリやフィールドの存在を確認します。

Accessのコンボボックス・リストボックス・テーブルのルックアップで「パラメーターの入力」の原因になる値集合ソースを確認する図

5. 原因箇所が見つからないときの切り分け手順|表示された識別子から追う

原因がすぐに見つからない場合は、闇雲に各オブジェクトを修正するのではなく、「どこで入力要求が発生したか」を順番に切り分けます。とくに業務で長年使われているAccessは、フォーム→クエリ→別クエリ→外部テーブルのように参照が多段化していることがあり、発火元を特定してから深掘りする方が効率的です。

Accessの「パラメーターの入力」の原因を、表示された識別子から発生オブジェクト・元クエリ・各プロパティへ順にたどる5STEP切り分けフロー
手順確認すること具体的な作業
STEP 1表示された識別子を記録ダイアログの文字列をメモ/画面キャプチャし、Cancelする
STEP 2発生するオブジェクトを特定クエリ単体か、フォーム/レポートを開いた時だけかを確認
STEP 3元クエリを単体実行フォーム/レポートのレコードソースとなるクエリを直接実行
STEP 4オブジェクト固有プロパティを確認Control Source、Record Source、Group/Sort、Row Sourceを順に確認
STEP 5参照先をたどって旧名・誤字を修正修正後に同じ操作で再現しないことを確認

「クエリ単体では出ない」が大きなヒントになる

元クエリを直接開いても入力要求が出ず、フォームやレポートを開いたときだけ出るなら、原因はクエリ本体よりもオブジェクト側にある可能性が高いと考えられます。逆に、クエリ単体ですでに入力要求が出るなら、まずクエリのフィールド・抽出条件・計算式から修正します。

実務上の注意
意図しないプロンプトに適当な値を入れて処理を継続すると、誤った抽出・集計結果を「正常」と見誤る可能性があります。原因を特定するまでは、値入力で回避する運用にしないことをおすすめします。
「パラメーターの入力」が消えない、原因が追えない場合
クエリだけでなく、フォーム・レポート・コントロール・参照先まで含めて既存Accessを横断的に調査する必要があります。インフォースでは、長年の改修で参照関係が複雑化したデータベースや、項目名変更後に複数画面で不具合が出るケースの原因特定・改修に対応しています。業務停止リスクが高い場合は、無理に修正を続ける前にご相談ください。

6. 意図的にパラメータークエリを使う場合の正しい設定|データ型とフォーム利用

ここまで説明したのは「意図しない入力要求」の対処です。一方、Accessには実行するたびに条件を入力させる「パラメータークエリ」という正式な使い方があります。開始日・終了日、担当者コード、商品分類などを都度指定して抽出したい場合に利用できます。

抽出条件に角かっこでプロンプトを設定する

たとえば日付条件を入力させたい場合、抽出条件へ次のようなプロンプトを設定します。

[開始日を入力してください:]

クエリを実行すると、この文言が入力ダイアログに表示されます。これは作成者が意図した動作なので、エラーではありません。

パラメーターのデータ型を定義する

日付や数値など、入力値の型が重要な条件では、クエリの[パラメーター]設定でデータ型を明示すると安全です。型を定義しておくことで、日付を文字列として解釈してしまうなどの曖昧さを減らせます。とくにクロス集計クエリや複雑な計算を含むクエリでは、パラメーター型を明示する設計が有効です。

Accessで意図的なパラメータークエリを作るとき、抽出条件のプロンプト設定とパラメーターのデータ型を定義する流れ

フォームの値を使う場合は「フォームを先に開く」設計を明確にする

入力ダイアログではなく、フォーム上の入力値をクエリ条件に使う設計も一般的です。その場合は、クエリを実行する前に参照先フォームが開いている状態を作り、コントロール名まで正しく指定します。

[Forms]![売上伝票入力]![売上ID]

フォーム名やコントロール名を変更した場合は、この参照式も合わせて変更します。フォームを閉じたままクエリを直接実行する運用があるなら、入力ダイアログ方式へ切り替える、VBAやマクロからフォームを開いた状態で実行するなど、利用手順も含めて設計を見直します。

よくある誤参照は「修正前/修正後」で確認する

Accessで「パラメーターの入力」の原因になる旧フィールド名やフォーム参照を、修正前と修正後で比較した図
修正前(入力要求が出る例)修正後の考え方
[売上金額旧]現在存在する正しいフィールド名へ変更する
[Forms]![売上入力旧]![担当ID]現在のフォーム名・コントロール名へ合わせる
レポートの並べ替え:売上日旧現在のフィールド名「売上日」へ変更する
Row Source内の SELECT 商品名旧 …元テーブル/クエリに存在する列名へ変更する

7. まとめ|適当な値を入れず「表示された名前」から参照元を直す

Accessで意図しない「パラメーターの入力」が表示されたときは、Accessが何らかの識別子・式を正しく解釈できていない可能性を疑います。最初にダイアログに出た名前を記録し、クエリのフィールド・抽出条件・計算式から確認してください。

クエリ単体では問題がない場合は、フォームやレポートのレコードソース/コントロールソース、レポートのグループ化と並べ替え、コンボボックスやテーブルの値集合ソースへ範囲を広げます。とくにフィールド名・コントロール名を変更した後は、見えにくい場所に旧名が残っていないかを横断的に確認することが重要です。

一方、[開始日を入力してください:] のように作成者が意図して設定したパラメータークエリは正常な機能です。「表示されること」自体をエラーと判断せず、意図した入力要求か、参照エラーによる入力要求かを切り分けて対応しましょう。

既存Accessの参照関係が複雑で原因を特定できない場合
クエリ・フォーム・レポート・VBA・外部DBを含めた既存Accessの調査と改修に対応しています。担当者退職で仕様が分からない、複数画面で不明なパラメーター入力が出る、基幹業務で使っており試行錯誤が難しい、といった場合は原因調査からご相談いただけます。

8. よくある質問(FAQ)

代表的なのは、存在しないフィールド名や古い参照名がクエリ・フォーム・レポート等に残っているケースです。ただし、フォームを開かずに [Forms]![フォーム名]![コントロール名] を参照した場合など、複数の原因があります。表示された文字列を手掛かりに原因箇所を特定します。

意図したパラメータークエリなら、画面に示された条件値を入力します。見覚えのないフィールド名やフォーム参照が表示された場合は、適当な値を入れず、文字列を記録して[キャンセル]し、参照ミスを修正するのが基本です。

クエリ、フォーム、レポート、グループ化・並べ替え、値集合ソースなどのどこかに旧フィールド名が残っている可能性があります。変更したフィールドを参照するオブジェクトを横断して確認します。

参照先フォームが開いているか、フォーム名・コントロール名が正しいかを確認します。フォームが閉じていると値を取得できず、Accessが入力を求めることがあります。

レポートのレコードソース、テキストボックス等のコントロールソース、[グループ化と並べ替え]に誤参照が残っている可能性があります。元クエリが正常なら、レポート固有の設定を優先して確認します。

作成時に [開始日を入力してください:] のようなプロンプトを意図的に設定したなら正常です。見覚えのないフィールド名や式が突然表示される場合は、誤参照を疑います。

意図しない表示なら、原因となる誤字・旧参照・閉じたフォーム参照・各種ソース式を修正すれば表示は解消できます。ただし、意図的なパラメータークエリは仕様として入力を求めるため、消したい場合は抽出条件や入力方法そのものを設計変更します。


参考情報

● Microsoft Support|Why does Access want me to enter a parameter value?
https://support.microsoft.com/en-us/access/why-does-access-want-me-to-enter-a-parameter-value

● Microsoft Support|クエリの実行時にパラメーターを使って入力を求める
https://support.microsoft.com/ja-jp/access/use-parameters-to-ask-for-input-when-running-a-query

● Microsoft Support|クエリ、フォーム、レポートでパラメーターを使用する
https://support.microsoft.com/ja-jp/access/use-parameters-in-queries-forms-and-reports

TOP