【1】Accessのファイル「SampleDB4.mdb」を起動します。オブジェクトで「クエリ」を選択後、「Q01Slip」をクリックし、「デザイン」で開きます。
【2】クエリ「Q01Slip」がデザインビューで開きました。
クエリのデザインビューは上下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】「データシートビュー」をクリックします。
【4】データシートビューが表示されました。
これでフォームF01Slipに表示されるデータが全てそろいましたね。クエリの働きのおかげで、テーブルT07Slipに無いデータを表示することができます。確認したらクエリは保存しないで閉じてください。
【5】次は「Q02Details」をクリックし、「デザイン」で開きます。
【6】クエリ「Q02Details」がデザインビューで開きました。
【7】「データシートビュー」をクリックします。
【8】データシートビューが表示されました。
クエリの働きのおかげで、テーブルT08Detailsに無いデータを表示することができます。確認したらクエリは保存しないで閉じてください。
【解説】
テーブルを基にクエリを作り、クエリを基にフォームを表示することでデータがつながっています。
・テーブル→クエリ→フォーム
・フォーム→クエリ→テーブル
テーブルのデータはクエリを通してフォームに表示され、フォームで入力したデータはクエリを通してテーブルに保存されます。
もちろんクエリで変更したデータはテーブル、フォームにも反映されます。このようにクエリはテーブルとフォームを仲介してくれる働き者なのです。
これまでの仕組みが理解できたら、テーブル、クエリ、フォームを意識しながら、フォームF01Slipからデータを数件入力してみてください。きっと理解が深まりますよ。