仕入先製品マスタ「テーブル設計」

仕入先製品マスタは、製品マスタの図番ごとに「どこで作るか(成形先・加工先・印刷先など)」を管理するマスタです。自社工場・外製先を問わず取引先マスタと同じコード体系で仕入先を扱い、受注時の発注先決定に利用します。基本情報を管理するT30仕入先製品Mテーブルと、ロット別単価・旧単価を管理するT30仕入先製品Mロット旧単価テーブルの2テーブルで構成されています。


テーブル構成の全体像

仕入先製品マスタは、図番×課ごとの発注先情報を管理するT30仕入先製品Mと、その仕入先単価がロットによって変動する場合の履歴を管理するT30仕入先製品Mロット旧単価の2テーブルに分かれています。単価の変動履歴を別テーブルに切り出すことで、発注先情報そのものを圧迫せずに単価改定の経緯を追える設計です。

テーブル構成

テーブル名 役割
T30仕入先製品M 図番ごとの発注先(仕入先)情報
T30仕入先製品Mロット旧単価 ロット別単価・旧単価の履歴

T30仕入先製品M テーブル

製品マスタの図番に対して、どの課の製造をどの仕入先(自社工場を含む)が担当するかを管理するメインテーブルです。成形課・加工課・印刷課・材料課の4つのYes/No型フラグを持ちますが、1レコードにつき担当課は1つだけを立てる運用で、複数課を担当する図番は課の数だけレコードを分けて登録します。

T30仕入先製品M テーブルデザインビュー

T30仕入先製品M テーブルフィールド構成

フィールド名 データ型 役割
ID オートナンバー型 主キー
仕入先コード 数値型 取引先マスタと連動(製造を担当する仕入先・自社工場)
図番 短いテキスト 製品マスタと連動
図番ID 数値型 製品マスタと連動
仕入先単価 数値型 仕入先単価(自社製造は0)
旧単価 数値型 単価変動があった場合の旧単価
単位 短いテキスト 製品の単位
メモ1 短いテキスト メモ
備考 短いテキスト 仕入先備考
手配 Yes/No型 手配の有無
有効 Yes/No型 仕入先マスタとしての有効有無
成形課 Yes/No型 成形課担当かの有無
加工課 Yes/No型 加工課担当かの有無
印刷課 Yes/No型 印刷課担当かの有無
材料課 Yes/No型 材料課担当かの有無
登録日 日付/時刻型 登録日
取引先コード 数値型 顧客コード(発注元の客先)
金型ID 数値型 使用金型のID
仕入先製品マスタのリストは図番だけで一覧化されるため、担当者が図番の羅列だけを見てもどの製品か連想しづらい場面があります。そこで発注先とは別に、発注元の客先(取引先コード)もこのテーブルに持たせておくことで、リストを開いた瞬間に「どの客先向けの製品か」がわかり、図番から製品を思い出す手がかりになります。
成形課・加工課・印刷課・材料課のフラグは、1レコードに複数チェックを立てることも技術的には可能です。ですが、あえて1レコード=1課の担当のみとするルールで運用しています。これにより、課ごとの発注残や生産計画を集計する際に、フラグの組み合わせを気にせず単純に「その課のフラグが立っているレコード」を数えるだけで済む設計になっています。

T30仕入先製品Mロット旧単価 テーブル

仕入先単価がロット数によって変動する場合の単価履歴を管理するテーブルです。製品マスタのロット別単価・旧単価と同じ考え方で、「ロット別」「旧単価」の2つのYes/No型フラグで、格納データがどちらの性質のレコードかを判別します。

T30仕入先製品Mロット旧単価 テーブルデザインビュー

T30仕入先製品Mロット旧単価 テーブルフィールド構成

フィールド名 データ型 役割
ID オートナンバー型 主キー
図番ID 数値型 T10製品Mと連動
登録日 日付/時刻型 登録日
ロット 数値型 ロット別単価のロット
前〜 Yes/No型 ロットの前に「〜」をつける
後〜 Yes/No型 ロットの後に「〜」をつける
単価 数値型 ロット単価
備考 短いテキスト メモ・備考
ロット別 Yes/No型 ロット別単価の有無
旧単価 Yes/No型 単価変更の過去単価
仕入先コード 数値型 仕入先製品マスタの仕入先コードに連動

ロット別単価・旧単価の考え方自体は製品マスタと同じ仕組みのため、詳しい解説は製品マスタ編集ページを参照してください。

ロット別単価の詳細解説ページ

関連記事

製品マスタの編集フォームは新規登録フォームと同じ非連結の設計思想で構成されています。製品マスタ基本情報フォームの編集ボタンから図番IDを引き継ぎ、DLookupで全フィールドを転記した上で編集・更新する仕組みです。テーブルに直結させない理由[…]

旧単価の詳細解説ページ

関連記事

製品マスタの編集フォームは新規登録フォームと同じ非連結の設計思想で構成されています。製品マスタ基本情報フォームの編集ボタンから図番IDを引き継ぎ、DLookupで全フィールドを転記した上で編集・更新する仕組みです。テーブルに直結させない理由[…]


まとめ

仕入先製品マスタは、図番×課の発注先情報を持つT30仕入先製品Mと、単価変動の履歴を切り出したT30仕入先製品Mロット旧単価の2テーブル構成です。1レコード1課の登録ルールにより、課別の発注残・生産計画の集計をシンプルに保ちながら、自社工場と外製先を同じコード体系で扱える設計になっています。

 

本サイトではマクロを用いた構築手順を中心に紹介していますが、決してマクロを唯一の正解として推奨しているわけではありません。VBAが扱える環境であれば、より多彩で柔軟なプログラムが組めるVBAでの構築をむしろ推奨したいと考えています。

ここでマクロという選択肢を提示しているのは、VBAにハードルを感じている方への「もう一つの入り口」として、また将来的な後継者への引き継ぎ負荷を抑えるという実務上のメリットを考慮してのことです。設計の考え方の一つとして、状況に合わせて活用してください。