【1】Accessのファイル「SampleDB4.mdb」を起動し、オブジェクトで「フォーム」を選択後、「F01Slip」をダブルクリックして開きます。
【2】伝票入力画面が開きました。最後に入力したレコードに移動しますので以下のように移動ボタンをクリックします。
【3】最後のレコードが表示されました。この例ではSLIP_CDが「23」で、レコード番号は「21」です。
*これからフォームとテーブルの関係を説明しますのでよく見ておいてください。
【4】確認したらフォームは閉じてください。
【5】まずテーブルT07Slipにどのように保存されたか見てみましょう。
SLIP_CDはオートナンバー型なので自動で入力されました。図を見るとフォームで入力したSLIP_DATEやCST_CDがテーブルに保存されていることがわかります。フォームで値を更新するとテーブルの値も変わります。
*顧客の情報を表示している部分はAccessのクエリの働きです。
【6】次にテーブルT08Detailsにどのように保存されたか見てみましょう。
DETAILS_CDはオートナンバー型なので自動で入力されました。SLIP_CDは伝票のSLIP_CDが自動で入力されます。図を見るとフォームで入力したGOODS_CD、AMOUNT、NOTEがテーブルに保存されていることがわかります。フォームで値を更新するとテーブルの値も変わります。
T08Detailsには他の伝票の明細も保存されていますが、フォームに表示するときには伝票のSLIP_CDと同じ明細だけ表示するようになっています。これはAccessのサブフォームという機能でSLIP_CD同士を結び付けているからです。
TOTALの部分はテーブルに保存されているのではなく、フォーム上で毎回以下の式で再計算するように設定しています。単価×数量を集計
=Sum([PRICE]*[AMOUNT])
*商品の情報を表示している部分はAccessのクエリの働きです。
【解説】
実はテーブルとフォームは直接つながっているのではなく、間にAccessの「クエリ」という機能をはさんでいます。クエリのおかげでT07SlipやT08Detailsには無い、他のテーブルのデータを表示できます。
次回はこのクエリについて説明します。そうするとテーブル、クエリ、フォームの関係が見えてきます。