20170530水野
[ prev | next ]

2.データ操作

AccessではGUIベースで選択クエリを作成するのが普通のやり方です。しかし、選択クエリの作成ツールはGUIベースの 「デザインビュー」の他に「SQLビュー」が用意されています。これを用いると同じクエリを2つの表現で比べることも可能です。

今回はあらかじめデータを入力したAccessのサンプルデータベースを使うことにします。これ(db1.mdb)をdownloadして以下の課題に挑戦して下さい。

注意:Accessのバージョンが上がったので,以下の説明画面と対応しない部分があります。教科書やネットを活用して情報を集めながら課題を進めてください。

2-1.データベースの中身を見る

downloadしたデータベースの中身をまず確かめます。開くと次のような警告が出ますが有効化してください。

※小さな四角形F,H,C,X1,,,はウインドウをキャプチャする時に映り込んだものです以下では無視してください

開いた後でデータベースツールのリレーションシップで下のような8個のテーブルとテーブル間の参照関係を見ることができます。

2-2.SQLビューでの選択クエリ作成

前と同様に新しいクエリを作成しSQLビューを選択します。ここで検索のための次のSQL文を入力して実行してみてください。

SELECT 仕入先名, 担当者名, 部署
FROM 仕入先
WHERE 部署='営業部'
 

このクエリを実行すると仕入先の内で営業部が担当したもののリストが得られる。

ここで表示されているのはデータシートビユーである。

ホームの表示でデザインビューに切り替えると、下記のようにAccessの本来のクエリ作成画面が表示される。

ここで担当者名で並べ替えを指定し

SQLビューに切り替えると、変更後のクエリのSQLによる記述を見ることができる。結果は下記のようになる。

SELECT 仕入先.仕入先名, 仕入先.担当者名, 仕入先.部署
FROM 仕入先
WHERE (((仕入先.[部署])='営業部'))
ORDER BY 仕入先.担当者名;

括弧や「仕入先.」が勝手に挿入されているが文法的にはORDER BYが加えられた以外の変化は無い。

−−Accessの選択クエリはGUIでも記述でき、しかもSQLに変換して確認することが可能です−−

2-3. レポート課題 

  1. 商品区分から区分名と説明のリスト(商品区分のテーブルから射影で切り出す)
  2. 得意先から東京の得意先名と担当者のリスト(得意先テーブルから条件付きで選択し必要な属性のみ射影で切り出す)
  3. 区分名「調味料」の商品名リスト(商品と商品区分の2つのテーブルから...)
  4. 在籍支社の社員数(集合関数を利用)
  5. 商品区分ごとの受注金額の合計(できるかな?)
     
    区分名 受注金額
    飲料 4949750
    加工食品 2272300
    菓子類 2862200
    魚介類 5863800
    穀類、シリアル 3556380
    調味料 4340500
    肉類 3522800
    乳製品 2453800

検索に用いたSQLプログラムと結果のリストを示してください。リストが長い時は先頭付近のみでOKです


[ prev | next ]