Access Tips by pPoy

  
トップへ←Top    QueryへQuery  FormへForm  ReportへReport  Module(Sub)へSub  Module(Function)へFunction  ExcelへExcel  Etc.へEtc.  Word連携へWord

Query 無いデータも表示するクエリ 《ユニオンクエリ》
(Ac97,Ac2000,Ac2002)
ユニオンクエリは、主に複数のテーブルを連結して表示する際に使用します。
基になるテーブルは、別々のテーブルではなく、同一のテーブルの複製でも使用できます。
これの応用で、テーブルに存在しないデータを表示する場合にも利用できます。

以下は、元になるデータに変更を加えず、元のテーブルに存在しないデータを表示する方法です。

≪準備≫

都道府県テーブル
← 左のような 「tbl_都道府県」テーブルがあります。
都道府県データは、全部で 47 件あります。

これに、「全国」 及び 「その他」 を追加して
テーブルのデータに手を加えず
クエリで表示したいと思います。
≪デザインビュー≫

デザイングリッド
まず、「tbl_都道府県」 を使用して
クエリを作ります。

フィールドには、「都道府県ID」 と、
「都道府県名」 の2個を追加します。

※ 2個しかありませんが・・・
≪SQL ビュー≫

次に、このクエリを 「SQL ビュー」 で表示し、ユニオンクエリとして加工します。
  1. まず、 SQL の最後の 「;(セミコロン) 」 を取ります。

  2. 続けて その一行下に以下の SQL を追加します。
    UNION SELECT 0 AS 都道府県ID, "全国" AS 都道府県名
    FROM tbl_都道府県 AS tbl_a

      ※ SELECT の後ろは、数字のゼロです。

  3. 更にその下の行に以下の SQL を追加します。
    UNION SELECT 99 AS 都道府県ID, "その他" AS 都道府県名
    FROM tbl_都道府県 AS tbl_b


  4. 最後に並び順を設定する為に、以下の行を追加します。
    ORDER BY 都道府県ID ;
    文の最後の 「;(セミコロン)」 を忘れないでください。

結果は以下のようになります。
ユニオンクエリ
≪結果≫

以上で設定は終了です。 作成したクエリを実行してみます。
結果1
←クエリ最初の行には、
「ID=0」 の 「全国」 が表示されています。

結果2
←クエリの最後の行には、
「ID=99」 の 「その他」 が表示されています。
≪補足≫

上記の ユニオンクエリ を コンボボックス の 「値集合ソース」 に指定することにより、
VBA を使用せずにコンボボックスに、「全て」 や 「その他」 を追加することができます。
≪注意≫
  • この例では、追加した2つのクエリで、テーブルの複製を使用しています。
    同じ名称は同一のクエリ内では使用できない為、「tbl_a」 と 「tbl_b」 の別名をつけています。

  • ユニオンクエリでは、データの入力はできません。 表示のみです。
    勿論、データの変更や削除もできません。



この頁のTOPへTop
【念の為の注意書きです。】
このページ(下位ページ含む)の全ての物の無断転載を禁止いたします。又、当ページ(下位ページ含む)に記載されていることは、全て自己の責任において実行してください。

☆ 感想をお知らせください (直接ブラウザから送信致します。メールアカウントは不要です。)
  form mail はこちら

Copyright(C) pPoy 2006