Microsoft Access 掲示板

1対多とそうでないレコードが混在する場合 / 1

1 コメント
views
4 フォロー
1

1取引1レコードがほとんど、稀に1取引複数レコード(一対多)のものがあるということですね。

方法はいろいろあると思います。
それぞれ一長一短がありまするので、実際の業務や運用によって適切なものを選択することになると思います。

取引テーブルと売上明細テーブルというように一対多のテーブルに分けて、
1取引1レコードの場合は、明細テーブルは1レコードのみ、とする。
取引テーブルには金額フィールドは持たない。

取引テーブルと売上明細テーブルというように一対多のテーブルに分ける。
取引テーブルには金額フィールドを持たせる。
1取引1レコードは、取引テーブルに金額を入力、明細テーブルは入力しない。
1取引複数レコードは、明細テーブルに入力して、取引テーブルに集計値を入力(VBAで自動入力するといいでしょう)。

通常はどちらかを選択することになるでしょう。

あるいは、過去にやったことがある方法としては、下記のようなものがありました。
取引テーブルに金額フィールドの他にテキスト型で内訳フィールドというのを追加して、
そこにCSV形式のデータとして格納しておく。

品名,個数,単価
商品1,2,1000
商品2,3,2000

複数レコードの場合、非連結のフォームを別に表示して、そこで入力して、
VBAでCSV形式にして内訳フィールド格納、というようなことを作りこみます。

通報 ...