Accessで作る現金出納帳③~摘要フィールドが摘要テーブルと明細テーブルにある理由

Pocket

Accessで現金出納帳を作るとき、作成するクエリは
Accessでつくる現金出納帳で作った残高を計算するクエリだけです。

今までクエリの説明をしたときに、商品名は商品テーブルから引っ張って
きて明細テーブルには商品コードだけ配置して、それ以外の情報は
クエリに繋げる処理をしてきました。

しかし、これは商品名が変わることのないので可能となる処理です。
今回の現金摘要のように、摘要テーブルから摘要を引っ張ってきて、
それに手を加える場合は、摘要テーブルの摘要と明細テーブルの摘要は
別のフィールドにしてあくまでも別の箱にデータを入れる必要があります。

摘要テーブルに摘要IDを設定し、明細テーブルには摘要ではなく摘要ID
にフィールドを変更し、クエリで摘要IDを基に摘要テーブルから適用を
引っ張ってくる設定にしてみました。

2507271

ここで、摘要を変更してみます。
2507272

すると、ひとつ前のデータも、摘要テーブルの適用も全て変わってしまいました。
2507273

これは著書の第5章の販売管理データベースでも出てきます。
商品名は変わらないので請求明細には商品名というフィールドがありませんが、
単価は商品テーブルと請求明細テーブルの両方にあります。

これも例と同じく、単価を商品テーブルから引っ張ってくるやり方だと
請求明細で単価を変更すると、商品テーブルの単価も、同じ商品CDの単価も
全て遡って変わってしまいます。これでは困るので、あくまでも商品テーブルの
単価を請求明細の単価にコピーして別のデータにして、仮に途中で単価が
変わっても、遡及して変わらないようにします。