仕入先製品マスタは、製品マスタの図番ごとに「どこで作るか(成形先・加工先・印刷先など)」を管理するマスタです。自社工場・外製先を問わず取引先マスタと同じコード体系で仕入先を扱い、受注時の発注先決定に利用します。基本情報を管理する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 |
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にハードルを感じている方への「もう一つの入り口」として、また将来的な後継者への引き継ぎ負荷を抑えるという実務上のメリットを考慮してのことです。設計の考え方の一つとして、状況に合わせて活用してください。