クエリの働き

今回はAccessのクエリについて説明します。テーブル、クエリ、フォームの関係をつかんで、データの流れをイメージしてください。

【1】Accessのファイル「SampleDB4.mdb」を起動します。オブジェクトで「クエリ」を選択後、「Q01Slip」をクリックし、「デザイン」で開きます。

access-sql195.gif


【2】クエリ「Q01Slip」がデザインビューで開きました。

access-sql196.gif

クエリのデザインビューは上下2つに分かれています。上には使用するテーブルが表示されていますが、これはSQL文のFROMにあたります。テーブル同士が結合しているのがWHEREにあたります。(正確にはINNER JOINですがWHEREでも同じ結果になるので)

画面下には表示するフィールドを選択したり、演算フィールドを書いています。SQL文ではSELECTにあたると考えてください。

演算フィールドのADDRESS2は以下のように式が記入されています。「ADDRESS2:」の部分がSQL文のAS(エイリアス)にあたります。

ADDRESS2: "〒" & [ZIP_CODE] & " " & [PREF_NAME] & [CITY_NAME] & [TOWN_NAME] & [ADDRESS]

*SLIP_CDが昇順になっていることも注意してください。データは入力順に表示されるとは限らないためSLIP_CD順で並べ替えています。

このクエリをSQL文で書くとしたら以下のようになります。

SELECT SLIP_CD, SLIP_DATE, T07Slip.CST_CD, CST_NAME, SEX, "〒" & [ZIP_CODE] & " " & PREF_NAME & CITY_NAME & TOWN_NAME & ADDRESS AS ADDRESS2
FROM T07Slip,T04Customer,T05Sex,T03Town,T02City,T01Prefecture
WHERE T07Slip.CST_CD = T04Customer.CST_CD
AND T04Customer.SEX_CD = T05Sex.SEX_CD
AND T04Customer.TOWN_CD = T03Town.TOWN_CD
AND T03Town.CITY_CD = T02City.CITY_CD
AND T02City.PREF_CD = T01Prefecture.PREF_CD
ORDER BY T07Slip.SLIP_CD;


【3】「データシートビュー」をクリックします。

access-sql197.gif


【4】データシートビューが表示されました。

access-sql198.gif

これでフォームF01Slipに表示されるデータが全てそろいましたね。クエリの働きのおかげで、テーブルT07Slipに無いデータを表示することができます。確認したらクエリは保存しないで閉じてください。


【5】次は「Q02Details」をクリックし、「デザイン」で開きます。

access-sql199.gif


【6】クエリ「Q02Details」がデザインビューで開きました。

access-sql200.gif


【7】「データシートビュー」をクリックします。

access-sql201.gif


【8】データシートビューが表示されました。

access-sql202.gif

クエリの働きのおかげで、テーブルT08Detailsに無いデータを表示することができます。確認したらクエリは保存しないで閉じてください。


【解説】
テーブルを基にクエリを作り、クエリを基にフォームを表示することでデータがつながっています。

・テーブル→クエリ→フォーム
・フォーム→クエリ→テーブル

テーブルのデータはクエリを通してフォームに表示され、フォームで入力したデータはクエリを通してテーブルに保存されます。

もちろんクエリで変更したデータはテーブル、フォームにも反映されます。このようにクエリはテーブルとフォームを仲介してくれる働き者なのです。

これまでの仕組みが理解できたら、テーブル、クエリ、フォームを意識しながら、フォームF01Slipからデータを数件入力してみてください。きっと理解が深まりますよ。

スポンサードリンク

スポンサードリンク






Access SQL初心者入門講座TOPへ