Access データベースでクエリを実行するときに条件を要求するには、パラメーター クエリを作成します。 これにより、デザイン ビューで何度もクエリを開いて抽出条件を編集しなくても、同じクエリを繰り返し使えるようになります。
用語について
次の手順を開始する前に、以下の用語を理解しておいてください。
-
パラメーター パラメーターは、クエリを実行するときにクエリ権限に指定する情報の一部です。 パラメーターは、単独で使用することも、より大きな式の一部として使用して、クエリの条件を形成することもできます。 パラメーターは、次のいずれかの種類のクエリに追加できます。
-
選択
-
クロス集計
-
追加
-
表作成
-
更新
-
-
抽出条件抽出条件とは、クエリを実行したときにどの項目が返されるようにするかを指定するためにクエリに追加する "フィルター" です。
上記のクエリの種類の詳細については、「クエリの概要」を参照してください。
パラメーター クエリを作成する
パラメーターの作成は、通常の抽出条件をクエリに追加するのとよく似ています。
-
選択クエリを作成し、クエリをデザイン ビューで開きます。
-
パラメーターを適用するフィールドの [ 抽出条件 ] 行に、パラメーター ボックスに表示するテキストを角かっこで囲んで入力します。 たとえば、[ 開始日を入力します:]
-
パラメーターを追加する各フィールドについて、手順 2. を繰り返します。
このクエリを実行すると、角かっこなしでプロンプトが表示されます。
検索する値を入力し、[OK] をクリックします。
抽出条件に複数のパラメーターを使うことも可能です。 たとえば、Between [開始日を入力してください:] And [終了日を入力してください:] では、クエリを実行すると 2 つのプロンプトが表示されます。
パラメーターのデータ型を指定する
パラメーターは、特定の種類のデータのみを受け入れるように設定できます。 数値、通貨、または日付/時刻データのデータ型を指定することは特に重要です。そのため、通貨値が予想される場合にテキストを入力するなど、間違った種類のデータを入力すると、より役立つエラー メッセージが表示されます。
注: テキスト データを受け取るようにパラメーターが構成されている場合、入力はすべてテキストとして解釈され、エラー メッセージは表示されません。
クエリのパラメーターのデータ型を指定するには、次の手順に従います。
-
デザイン ビューでクエリを開いた状態で、[ クエリ デザイン ] タブの [ 表示/非表示 ] グループで [ パラメーター] をクリックします。
-
[クエリ パラメーター] ボックスの [パラメーター] 列に、データ型を指定する各パラメーターのプロンプトを入力します。 各パラメーターが、クエリ デザイン グリッドの [抽出条件] 行で使ったプロンプトと一致していることを確認してください。
-
[データ型] 列で、各パラメーターのデータ型を選択します。
ユニオン クエリにパラメーターを追加する
ユニオン クエリは、クエリ デザイン グリッドには表示されないため、次のように少し異なる手順に従う必要があります。
-
ユニオン クエリを SQL ビューで開きます。
-
パラメーターの追加先にするフィールドを含む WHERE 句を追加します。
WHERE 句が既に存在する場合は、その句の中にパラメーターの追加先にしたいフィールドが既に入っているかどうかを調べます。 入っていなければ、追加します。
-
WHERE 句にパラメーターのプロンプトを入力します。例: WHERE [StartDate] = [開始日を入力してください:]
クエリの各セクションに同じフィルターを追加する必要があることに注意してください。 上の図では、クエリは 2 つのセクションを持つため (UNION キーワードで区切られています)、パラメーターを 2 回追加する必要があります。 それでも、クエリを実行すると、プロンプトは 1 回しか表示されません (各セクションにまったく同じプロンプトを入力したものとします)。
共用体クエリの詳細については、「 共用体クエリを使用して複数のクエリを 1 つの結果に結合する」を参照してください。
ワイルドカードでパラメーターを結合して柔軟性を高める
通常の抽出条件と同じように、パラメーターも Like キーワードやワイルドカード文字で結合して、より幅広い項目に一致するようにすることができます。 たとえば、原産国/地域の入力を求め、そのパラメーター文字列を含む値はすべて一致するというクエリを作成できます。 そのためには、次の操作を行います。
-
選択クエリを作成し、クエリをデザイン ビューで開きます。
-
パラメーターを適用するフィールドの [抽出条件] 行に「Like "*"&[」と入力し、プロンプトとして使うテキストを入力し、その後ろに「]&"*"」と入力します。
パラメーター クエリを実行すると、ダイアログ ボックスに角かっこが表示されず、[Like キーワード (keyword) またはワイルドカード文字:
パラメーターを入力すると、そのパラメーター文字列を持つ値がクエリから返されます。 たとえば、パラメーター文字列 us は、パラメーター フィールドの値が Australia の行および USA の行を返します。
ワイルドカードの詳細については、「 ワイルドカード文字の例」を参照してください。
パラメーターと一致しない項目を返す
クエリで指定したパラメーターに一致する項目を取得するのではなく、指定したパラメーターに一致しない項目を取得したい場合もあります。 たとえば、年の入力を求め、入力した年よりも年が大きい項目を返すような場合です。 この操作を行うには、「>[Year:]」のように、パラメータープロンプトを囲む最初の角かっこの左側に比較演算子を入力します。
ビデオ: クエリでパラメーターを使用する
クエリでパラメーターを使用することは、抽出条件を使用するクエリを作成するのと同様に簡単です。 1 つの情報 (部品番号など) または複数の情報 (2 つの日付など) の入力を求めるクエリを定義できます。 パラメーター クエリでは、パラメーターごとに、そのパラメーターの値の入力を求める個別のダイアログ ボックスが表示されます。
クエリでパラメーターを作成する方法の詳細についてはこのビデオをご覧ください。