Accessのクエリ実行時に突然「パラメーターの入力」が表示された場合、必ずしも入力すべき値が不足したわけではありません。列名や参照先をAccessが理解できていないために、値の入力を求めていることがあります。意図して作ったパラメータークエリとの違いを確認しましょう。
パラメーターを使う正常な場合との違い
まずダイアログに出た文字列を正確に控えます。たとえば[顧客ID]と入力を求められた場合、設計者が顧客IDを入力させる仕様なら正常です。しかし[顧客lD](Iと小文字lの誤記)など、想定にない名前なら参照エラーを疑います。適当な値を入れて先へ進むと、空結果を「該当なし」と誤認する場合があるので、いったんキャンセルします。
列名変更・誤字・参照先の不一致を探す
対象クエリをデザインビューで開き、[フィールド]行と[抽出条件]行を確認します。元のテーブルで列名を変更した後、クエリ側に旧列名が残っていないかを調べます。Expr1: [旧列名]などの式、計算列や集計式の識別子も対象です。必要なら実在のフィールド一覧を表示して照合します。
フォーム参照や式の名前を確認
フォームに入力した値をクエリが参照している場合は、フォーム名とコントロール名が正確か、フォームが開いているか確認します。レポートから実行するときだけ表示されるなら、レポートのレコードソース・集計式を点検します。コンボボックスに関連する場合は、値集合ソースや列数を確認します。修正前に元のクエリを複製し、正常に動いていた条件を残してください。
修正後の抽出件数を比較する
修正後はダイアログが消えたかだけでなく、件数と代表3件の値を変更前に想定した結果と照合します。たとえば顧客別売上抽出なら、指定した顧客以外が混入していないかを確認します。空結果のままなら入力値が不要になっただけで、抽出条件自体が直ったとは断定できません。
