Microsoft Access 掲示板

異なるレコード間での集計・順番に計算する方法 / 3

9 コメント
views
4 フォロー
3

テーブル設計がまずいですね。

画像「計画のテーブル」のD1,D2,D3~というフィールドは日付をあらわしているのですよね。このような日々追加されているようなデータをフィールドにしてはいけません。データベース設計のセオリーから外れます。
「日付」というフィールドに日付を追加してく形にすべきです。

※BはAの次バージョン品のため、在庫がなくなった後に使用する。

AとBは同じ部品でバージョン違いであるという情報をテーブルに持たせる必要があります。

情報が不足しているで全体像が分かりませんが、とりあえず、下記のような感じのテーブル設計になると思います。

製品マスター
※製品CD
 製品名

部品マスター
※部品CD
 部品名

部品バージョンマスター
※部品CD
※バージョンCD
 バージョン名

製品構成マスター
※製品CD
※部品CD
 必要数

生産計画
※日付
※製品CD
 生産数

部品在庫履歴
※日付
※部品CD
※部品バージョン
 使用数
 在庫数

部品在庫履歴 をクエリだけで計算するのは難しいので、
VBAでDAOを使ってレコードセットとして開いて、
レコード移動しながら累計値を入力していくことになると思います。

通報 ...