クエリの実行時にパラメーターを使って入力を求める

クエリの実行時にパラメーターを使って入力を求める

Access デスクトップ データベースで、クエリの実行時に抽出条件の入力を求めるようにするには、パラメーター クエリを作成します。これにより、デザイン ビューで何度もクエリを開いて抽出条件を編集しなくても、同じクエリを繰り返し使えるようになります。

注: この記事は、Access Web アプリには適用されません。

用語について

次の手順を開始する前に、以下の用語を理解しておいてください。

  • パラメーター    パラメーターとは、クエリを実行するときにクエリに指定する個々の情報です。それ自身をそのまま使うことも、クエリでの抽出条件となるより大きい式の一部分として使うこともできます。パラメーターは、次のいずれの種類のクエリにも追加できます。

    • 選択

    • クロス集計

    • 追加

    • 表作成

    • 更新

  • 抽出条件抽出条件とは、クエリを実行したときにどの項目が返されるようにするかを指定するためにクエリに追加する "フィルター" です。   

上記のクエリの種類の詳細については、「クエリの概要」を参照してください。

パラメーター クエリを作成する

パラメーターの作成は、通常の抽出条件をクエリに追加するのとよく似ています。

  1. 選択クエリを作成し、クエリをデザイン ビューで開きます。

  2. パラメーターの適用先にするフィールドの [抽出条件] 行に、パラメーター ボックスに表示されるようにするテキストを入力します。角かっこで囲んでください。例: [開始日を入力してください:]

    簡単なパラメーター クエリ。

  3. パラメーターを追加する各フィールドについて、手順 2. を繰り返します。

このクエリを実行すると、角かっこなしでプロンプトが表示されます。

「開始日を入力してください:」というテキストの表示されたパラメーター プロンプト

検索する値を入力し、[OK] をクリックします。

抽出条件に複数のパラメーターを使うことも可能です。たとえば、Between [開始日を入力してください:] And [終了日を入力してください:] では、クエリを実行すると 2 つのプロンプトが表示されます。

2 つのパラメーターを持つパラメーター クエリ。

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

パラメーターが特定の型を持つデータしか受け付けないように設定することもできます。こうしておくと、ユーザーが通貨を入力すべきところでテキストを入力するなど、間違った型のデータを入力した場合に、わかりやすいエラー メッセージが表示されます。この方法は、数値、通貨、日付/時刻データなどのデータ型を指定する場合に特に便利です。

注: テキスト データを受け取るようにパラメーターが構成されている場合、入力はすべてテキストとして解釈され、エラー メッセージは表示されません。

クエリのパラメーターのデータ型を指定するには、次の手順に従います。

  1. クエリをデザイン ビューで開き、[デザイン] タブの [表示/非表示] で [パラメーター] をクリックします。

  2. [クエリ パラメーター] ボックスの [パラメーター] 列に、データ型を指定する各パラメーターのプロンプトを入力します。各パラメーターが、クエリ デザイン グリッドの [抽出条件] 行で使ったプロンプトと一致していることを確認してください。

  3. [データ型] 列で、各パラメーターのデータ型を選択します。

ユニオン クエリにパラメーターを追加する

ユニオン クエリは、クエリ デザイン グリッドには表示されないため、次のように少し異なる手順に従う必要があります。

  1. ユニオン クエリを SQL ビューで開きます。

  2. パラメーターの追加先にするフィールドを含む WHERE 句を追加します。

    WHERE 句が既に存在する場合は、その句の中にパラメーターの追加先にしたいフィールドが既に入っているかどうかを調べます。入っていなければ、追加します。

  3. WHERE 句にパラメーターのプロンプトを入力します。例: WHERE [StartDate] = [開始日を入力してください:]

    両方の部分に次のような句を持つ、2 パートのユニオン クエリ: WHERE StartDate = [開始日を入力してください:]

    クエリの各セクションに同じフィルターを追加する必要があることに注意してください。上の図では、クエリは 2 つのセクションを持つため (UNION キーワードで区切られています)、パラメーターを 2 回追加する必要があります。それでも、クエリを実行すると、プロンプトは 1 回しか表示されません (各セクションにまったく同じプロンプトを入力したものとします)。

ユニオン クエリの詳細については、「ユニオン クエリを使って複数のクエリの結果を統合して表示する」を参照してください。

ワイルドカードでパラメーターを結合して柔軟性を高める

通常の抽出条件と同じように、パラメーターも Like キーワードやワイルドカード文字で結合して、より幅広い項目に一致するようにすることができます。たとえば、原産国/地域の入力を求め、そのパラメーター文字列を含む値はすべて一致するというクエリを作成できます。そのためには、次の操作を行います。

  1. 選択クエリを作成し、クエリをデザイン ビューで開きます。

  2. パラメーターを適用するフィールドの [抽出条件] 行に「Like "*"&[」と入力し、プロンプトとして使うテキストを入力し、その後ろに「]&"*"」と入力します。

    CountryRegion 列に次の抽出条件を持つクエリ デザイン グリッド: Like "*" & [国/地域を入力してください:] & "*"

このパラメーター クエリを実行すると、ダイアログ ボックスには、次のように "Like" キーワードとワイルドカード文字を除いた、角かっこのないプロンプトが表示されます。

「国/地域を入力してください:」というテキストの表示されたパラメーター プロンプト。

パラメーターを入力すると、そのパラメーター文字列を持つ値がクエリから返されます。たとえば、パラメーター文字列 us は、パラメーター フィールドの値が Australia の行および USA の行を返します。

ワイルドカードの詳細については、「抽出条件としてワイルドカード文字を使う」を参照してください。

パラメーターと一致しない項目を返す

クエリで指定したパラメーターに一致する項目を取得するのではなく、指定したパラメーターに一致しない項目を取得したい場合もあります。たとえば、年の入力を求め、入力した年よりも年が大きい項目を返すような場合です。この操作を行うには、「>[Year:]」のように、パラメータープロンプトを囲む最初の角かっこの左側に比較演算子を入力します。

ビデオ: クエリでパラメーターを使用する

クエリでパラメーターを使用することは、抽出条件を使用するクエリを作成するのと同様に簡単です。1 つの情報 (部品番号など) または複数の情報 (2 つの日付など) の入力を求めるクエリを定義できます。パラメーター クエリでは、パラメーターごとに、そのパラメーターの値の入力を求める個別のダイアログ ボックスが表示されます。

クエリでパラメーターを作成する方法の詳細についてはこのビデオをご覧ください。

お使いのブラウザーではビデオがサポートされていません。Microsoft Silverlight、Adobe Flash Player、Internet Explorer 9 のいずれかをインストールしてください。

関連項目

クエリ、フォーム、レポートでパラメーターを使用する

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

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

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

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

×