アクセスでフォームからパラメータクエリの条件を指定する

こんにちは、市民パソコン教室北九州小倉校の篠原です。
 今日は、アクセスでフォームからパラメータクエリの条件を指定する方法です。
LINEクリエイターズスタンプ作成講座



指定されたファイルは存在しません。

フォームからパラメータクエリーの抽出条件を指定する

 アクセスでクエリを変更せずに抽出条件を変更するでは、クエリーにパラメータを指定し、クエリーの実行時に、パラメータの数だけ、パラメータ入力ダイアログボックスから、パラメータをそれぞれ入力していく方法を紹介しました。

 今回は、パラメータの入力をフォームを使って行えるようにし、パラメータ入力の煩雑さを解消します。

 まず、フォームを作ります。

  • 図1-1 フォームの作成は、「作成」タブの「フォーム」グループの「フォームデザイン」ボタンをクリックします。
    アクセスでフォームからパラメータクエリの条件を指定する2:フォームを作る

  • 図2-1 フォームデザイン画面が表示されますので、以下の様にコントロールを配置します。
    • テキストボックスが2個(日付、商品名の入力用)
       コントロール名(日付):日付F
       コントロール名(商品名):商品名F
    • コマンドボタン(クエリーの実行)
       コマンドボタンの設定方法です
       「フォームデザインツール」の「デザイン」タブの「コントロール」グループの「ボタン」コントロールを選択します。
       フォーム上で四角を描くようにドラッグします。
       フォームが完成したら、フォーム名を「F_PARA_txt」にして保存します。
      アクセスでフォームからパラメータクエリの条件を指定する2:コントロールを配置


       コマンドボタンに、マクロを設定する。
      アクセスでフォームからパラメータクエリの条件を指定する2:コマンドボタン作成1アクセスでフォームからパラメータクエリの条件を指定する2:コマンドボタン作成2アクセスでフォームからパラメータクエリの条件を指定する2:コマンドボタン作成3アクセスでフォームからパラメータクエリの条件を指定する2:コマンドボタン作成4


      フォームに名前を付けて保存する
      アクセスでフォームからパラメータクエリの条件を指定する2:出来上がったマクロアクセスでフォームからパラメータクエリの条件を指定する2:フォームの保存1アクセスでフォームからパラメータクエリの条件を指定する2:フォームの保存2

  • 図3-1 パラメータクエリーを作成します。
    • 日付、商品C、商品名の三つのフィールドをデザイングリッドに追加します
  • 図3-2 抽出条件には以下のように入力します。
    • 日付フィールドの抽出条件:[Forms]![F_PARA_txt]![日付F]
    • 商品名フィールドの抽出条件:[Forms]![F_PARA_txt]![商品名F]
       [Forms]!の意味:指定したコントロールはフォームオブジェクトの中にありますよ
       [F_PARA_txt]!の意味:そのそーむの名前は「F_PARA_txt」というフォームです
       [日付F]の意味:日付Fというコントロール(この場合はテキストボックスコントロールの名前です。フォームのプロパティシートの名前プロパティのところを見てください)ですよ
       [商品名F]の意味:商品名Fというコントロール(この場合はテキストボックスコントロールの名前です。)ですよ
      アクセスでフォームからパラメータクエリの条件を指定する2:パラメータクエリー作成

以上で、フォームとクエリーの準備が出来ました。

 ここまで作ると、どうなっているかというと、図3-2の抽出条件の指定の部分で、フォームとクエリーが連携しているイメージを持っていただけるといいと思います。

  • 図4-1 「ホーム」タブの「表示」グループの「表示」ボタンから「フォームビュー」をクリックします。フォームを開きます。
  • 図4-2 商品Cには「いちご」、日付には「2013/5/13」と入力します。この場合入力の順番はどちらが先でも結果は変わりません。
  • 図4-3 「クエリ2_txtの実行」ボタンをクリックします。
    アクセスでフォームからパラメータクエリの条件を指定する2:フォームの実行

  • 図5-1 クエリの実行結果が表示されます。
    アクセスでフォームからパラメータクエリの条件を指定する2:パラメータクエリーの結果



ドロップダウンリストボックスを使った抽出条件の選択

 次に、前フォームで使ったテキストボックスをドロップダウンリストボックスに変更して入力を簡単にします。

 テキストボックスでは、入力するべき抽出情報を知らなければ条件を入力することが出来ません。しかし、ドロップダウンリストボックスを使えば、クエリーを使って選択肢の一覧を表示し入力を簡素化することが出来ます。
 
 フォームを作る前に、クエリーを二つ作ります。これは、ドロップダウンリストボックスで使用するクエリーとなります。

  • 図6-1 日付を絞り込むクエリー
    アクセスでフォームからパラメータクエリの条件を指定する2:選択クエリーの作成1

  • 図7-1 商品名を絞り込むクエリー(フォームで指定された日付から表示させる商品名を絞り込みます。これによって、指定した日付に該当する商品名だけが商品Cのドロップダウンリストボックスには表示されます)。
    アクセスでフォームからパラメータクエリの条件を指定する2:選択クエリーの作成2

 図のようにフォームを作成します。

  • 図8-1 図1-1と図2-1の操作手順で行います。フォームデザイン画面が表示されますので以下の様にコントロールを配置します。
    • ドロップダウンリストボックスが2個(日付、商品名の入力用)
       コントロール名(日付):日付F
        集合値ソース:SELECT Q_日付.日付 FROM Q_日付 ORDER BY Q_日付.日付;
       コントロール名(商品名):商品名F
        集合値ソース:SELECT [Q_商品名].[商品C], [Q_商品名].[商品名] FROM Q_商品名 ORDER BY [商品C];
    • コマンドボタン(クエリーの実行)
       コマンドボタンの設定方法です
      アクセスでフォームからパラメータクエリの条件を指定する2:新規フォーム作成

      コマンドボタンにマクロを登録する
      アクセスでフォームからパラメータクエリの条件を指定する2:コマンドボタンのマクロ登録1アクセスでフォームからパラメータクエリの条件を指定する2:コマンドボタンのマクロ登録2アクセスでフォームからパラメータクエリの条件を指定する2:コマンドボタンのマクロ登録3アクセスでフォームからパラメータクエリの条件を指定する2:コマンドボタンのマクロ登録4


      フォームに名前を付けて保存する
      アクセスでフォームからパラメータクエリの条件を指定する2:フォームの保存1アクセスでフォームからパラメータクエリの条件を指定する2:フォームの保存2

  • 図9-1 フォームのサンプルです。(練習ですから、あまり凝らずに作ります)
    アクセスでフォームからパラメータクエリの条件を指定する2:作成したフォームのサンプル

  • 図10-1 パラメータクエリーを作成します。図3-1、図3-2と同じように作成し、抽出条件のフォーム名を「[F_PARA_ddl]!」にします。
     フォーム名を「F_PARA_ddl」にして保存します。
    アクセスでフォームからパラメータクエリの条件を指定する2:パラメータクエリーの作成

 以上で、フォームとクエリーの準備が出来ました。

  • 図11-1 フォーム「F_PARA_ddl」を選択して、図4-1のフォームを開く操作をし、フォームが開きます。
     日付のリストから「2013/5/14」を選択します(この日付は図7-1で作ったクエリーを参照しています)。
    アクセスでフォームからパラメータクエリの条件を指定する2:フォームから抽出条件入力1

  • 図12-1 商品Cのリストから「いちご」を選択します。
  • 図12-2 「クエリ3_ddlの実行」ボタンをクリックします。
    アクセスでフォームからパラメータクエリの条件を指定する2:フォームから抽出条件入力2とクエリーの実行

  • 図13-1 日付を「2013/5/13」で選択した場合の「商品名」の選択リスト(14日の分より選択肢が多い)
    アクセスでフォームからパラメータクエリの条件を指定する2:フォームから抽出条件入力2とクエリーの実行

  • 図14-1 クエリの実行結果が表示されます。
    アクセスでフォームからパラメータクエリの条件を指定する2:クエリーの実行結果

 以上で、アクセスでフォームからパラメータクエリの条件を指定する方法は終わりです。




市民パソコン教室北九州小倉校の「パソコン無料相談」も見てね。

ブログのお題拝借
&tag(Access,フォーム,クエリー)

コメント

  • ACCESSのパラメータをフォームで入力 、日付の期間を選択

    ACCESSのパラメータをフォームで入力 し、日付の期間を選択して表示するにはどのようにクエリに入力するのでしょうか?
    抽出の項目は、
    名前
    開始日
    終了日
    です。
    名前と開始日から終了日までの期間を選択して抽出したいのですが、フォームで一つの画面で条件を入力して抽出する方法をご指導頂けないでしょうか?


  • Re: ACCESSのパラメータをフォームで入力 、日付の期間を選択

    このページをご覧いただきありがとうございます。
    大変申し訳ありません。ブログの内容についてのご質問に、回答は行っておりません。悪しからずご了承ください。
    またこの内容について実践されて発生するトラブルなどについては、責任は負えませんので、ご自身の判断と自己責任の下、操作などは試行されてください。

    でも、少しヒントを。

    Between forms!フォーム名![入力する開始日] AND forms!フォーム名![入力する終了日]

    抽出したい日付フィールドに上記式を入力する(自己責任でお願いします)

    Access Betweenでググってみると、参考になるページが出てきます。
    とにかく実践してみることです。試行錯誤する方が実力が付きますよ。
    では、頑張ってください。



認証コード6193

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