フォームとテーブルの関係

今回の学習ではフォームで入力した値が、テーブルにどのように保存されるのかをイメージしてください。

【1】Accessのファイル「SampleDB4.mdb」を起動し、オブジェクトで「フォーム」を選択後、「F01Slip」をダブルクリックして開きます。

access-sql173.gif


【2】伝票入力画面が開きました。最後に入力したレコードに移動しますので以下のように移動ボタンをクリックします。

access-sql190.gif


【3】最後のレコードが表示されました。この例ではSLIP_CDが「23」で、レコード番号は「21」です。

access-sql191.gif

*これからフォームとテーブルの関係を説明しますのでよく見ておいてください。


【4】確認したらフォームは閉じてください。

access-sql189.gif


【5】まずテーブルT07Slipにどのように保存されたか見てみましょう。

access-sql193.gif

SLIP_CDはオートナンバー型なので自動で入力されました。図を見るとフォームで入力したSLIP_DATEやCST_CDがテーブルに保存されていることがわかります。フォームで値を更新するとテーブルの値も変わります。

*顧客の情報を表示している部分はAccessのクエリの働きです。


【6】次にテーブルT08Detailsにどのように保存されたか見てみましょう。

access-sql194.gif

DETAILS_CDはオートナンバー型なので自動で入力されました。SLIP_CDは伝票のSLIP_CDが自動で入力されます。図を見るとフォームで入力したGOODS_CD、AMOUNT、NOTEがテーブルに保存されていることがわかります。フォームで値を更新するとテーブルの値も変わります。

T08Detailsには他の伝票の明細も保存されていますが、フォームに表示するときには伝票のSLIP_CDと同じ明細だけ表示するようになっています。これはAccessのサブフォームという機能でSLIP_CD同士を結び付けているからです。

TOTALの部分はテーブルに保存されているのではなく、フォーム上で毎回以下の式で再計算するように設定しています。単価×数量を集計
=Sum([PRICE]*[AMOUNT])

*商品の情報を表示している部分はAccessのクエリの働きです。


【解説】
実はテーブルとフォームは直接つながっているのではなく、間にAccessの「クエリ」という機能をはさんでいます。クエリのおかげでT07SlipやT08Detailsには無い、他のテーブルのデータを表示できます。

次回はこのクエリについて説明します。そうするとテーブル、クエリ、フォームの関係が見えてきます。

スポンサードリンク

スポンサードリンク






Access SQL初心者入門講座TOPへ