アクセスでクエリを変更せずに抽出条件を変更する

こんにちは、 篠原です。


 今日は、アクセスでクエリを変更せずに抽出条件を変更する方法です。



テーブル:データ02、クエリー:クエリー1を使用しています。

クエリを変更せずに抽出条件を変更するパラメータクエリー

 クエリーを使って抽出条件を指定す場合は、デザイングリッドの抽出条件欄に条件を入力しますが、この方法で条件を指定すると、条件が変わる都度、この条件を変更するためにクエリーを変更しなければなりません。

 しかし、パラメータクエリーを使えば抽出条件をクエリーを変更せずに実行時にその都度指定できますので、クエリーの変更まではしなくて済みます。

 では、パラメータクエリーを作成してみます。

  • 図1-1 図のようなクエリーがあるとき、日付を抽出条件にするパラメータクエリーを作成します。
     デザイングリッドの抽出条件欄に「[日付入力]」と入力します。[]も必ず入力してください。
     準備はこれで終わりです。簡単ですね。
  • 図1-2 「クエリーツール」の「デザイン」タブの「クエリーの種類」グループから「実行」ボタンをクリックします。
    アクセスでクエリを変更せずに抽出条件を変更する方法:パラメータクエリーの実行

  • 図2-1 「パラメータの入力」ダイアログボックスが表示され、日付の入力が出来るテキストボックスが表示されますので、ここに日付を入力します。
  • 図2-2 「OK」ボタンをクリックします。
    アクセスでクエリを変更せずに抽出条件を変更する方法:パラメータの入力

  • 図3-1 日付で選択されたクエリーの実行結果が表示されます。
    アクセスでクエリを変更せずに抽出条件を変更する方法:パラメータクエリの実行結果

  • 図4-1 しかし、ここで入力する抽出条件は日付です。ここでタイプミスで日付と認識できない条件(値)が入力された場合はどうなるでしょうか。
    アクセスでクエリを変更せずに抽出条件を変更する方法:パラメータの入力ミスの対応

  • 図5-1 注意メッセージが表示されますね。でもメッセージを読んでみると、「式が正しくないか、複雑すぎるため評価できません。たとえば、数式に複雑な要素が多すぎます。変数に式の一部を割り当て、式を簡単にしてください。」という、日付を入力しなかっただけなのに、あまり的を得ていないメッセージが表示されて、ちょっと別のところ問題があるのではないかと思ってしまいますね。
    「OK」ボタンをクリックするとクエリーの実行は終了します。

 そこで、次のような設定を行います。
アクセスでクエリを変更せずに抽出条件を変更する方法:パラメータクエリーのエラーメッセージ

  • 図6-1 「クエリーツール」の「デザイン」タブの「表示/非表示」グループの「パラメータ」ボタンをクリックします。
    アクセスでクエリを変更せずに抽出条件を変更する方法:パラメータの指定

  • 図7-1 「クエリーパラメータ」ダイアログボックスが表示され、パラメータとそのデータ型を入力しておきます。
     パラメータ欄には、クエリーのデザイングリッドで入力した抽出条件と同じ[日付入力]と入力します。データ型には「日付/時刻型」をリストから選択します。
  • 図7-2 「OK」ボタンをクリックします。
    アクセスでクエリを変更せずに抽出条件を変更する方法:パラメータのデータ型

  • 図8-1 ここでもう一度クエリーを実行(図1-2参照)して、パラメータに日付と認識できない値を入力して見ます。
     「このフィールドに入力した値が正しくありません。たとえば数値型のフィールドに文字列を入力しました。」が表示され、先のメッセージとは違い、入力値の誤りが想像できるようなメッセージが表示されました。つまり、パラメータにデータ型を指定することで、ある程度のチェックはしてくれると言うことですね。
  • 図8-2 「OK」ボタンをクリックすると、再度パラメータを入力できるようになります。これも先の図4-1(クエリーの実行は終了した)とは違い、再度パラメータの入力が出来るようになり、操作性は良くなていますね。
    アクセスでクエリを変更せずに抽出条件を変更する方法:パラメータのデータ型

  • 図9-1 日付を正しく入力すると、クエリーが実行され、抽出結果が表示されます。
    アクセスでクエリを変更せずに抽出条件を変更する方法:パラメータクエリーの実行結果

  • 図10-1 では、抽出条件が二つになった場合の指定方法です。日付と更に商品名について選択をする場合です。
     まず、図5-1と同じくパラメータを入力します。
    • パラメータ:[商品名入力]、データ型:[短いテキスト]
    • パラメータ:[日付入力]、データ型:[日付/時刻型]
      と入力します。ここで設定したパラメータの順序がクエリーを実行した時のパラメータを入力する順序にもなります。
      アクセスでクエリを変更せずに抽出条件を変更する方法:パラメータの入力順序

  • 図11-1 クエリーを実行します。(図1-2参照)
     最初のパラメータの「商品名入力」のダイアログボックスが表示されました。今回は「いちご」と入力します。
    アクセスでクエリを変更せずに抽出条件を変更する方法:パラメータの入力1

  • 図12-1 次のパラメータの「日付入力」のダイアログボックスが表示されました。今回は「2013/5/13」と入力します。
    アクセスでクエリを変更せずに抽出条件を変更する方法:パラメータの入力2

  • 図13-1 クエリーの実行結果が表示され、商品名が「いちご」で、かつ、日付が「2013/5/13」のデータが抽出されました。
     つまり、抽出条件は、横方向に指定すると「AND条件」になります。また、縦方向に指定すると「OR条件」ということになります。
    アクセスでクエリを変更せずに抽出条件を変更する方法:二つのパラメータの結果

 簡単に使えそうですね。パラメータクエリーはクエリーの変更をすることなく条件をその都度帰ることが出来る便利な道具です。

 簡単な検索は、これで結構使えるようになります。

 以上で、アクセスでクエリを変更せずに抽出条件を変更する方法は終わりです。

 次回は、このパラメータクエリの抽出条件ををフォームを使って指定する方法を紹介します。




「パソコン無料相談」?も見てね。

ブログのお題拝借?
Tag: Access フォーム パラメータクエリー

コメント


認証コード9509

コメントは管理者の承認後に表示されます。