テーブル構成の全体像
受注管理は日々の受注データを格納する T20受注M を中心に、分納時の帳票印刷用データを一時的に保持する T20受注分納印刷、手配番号の自動採番を管理する T20受注自動手番 の3テーブルで構成されています。3テーブル間で正式なリレーションシップは組んでおらず、それぞれ独立したテーブルとして機能しています。
テーブル構成
| テーブル名 | 役割 |
|---|---|
| T20受注M | 受注データを格納するメインテーブル |
| T20受注分納印刷 | 分納時の注文書・納品書印刷用の一時保管テーブル |
| T20受注自動手番 | 手配番号(注文番号)の自動採番を管理するテーブル |
H2T20受注M テーブル
受注データ本体を格納するメインテーブルです。手配番号(注文番号)は登録者が任意に設定できますが、主キーとして設定されておりフォーム上で重複登録ができないよう制御されています。受注区分によって「製品マスタあり」「製品マスタなし」「材料受注」「シート受注」の4パターンを判別する設計になっています。
T20受注M テーブルデザインビュー
T20受注M フィールド構成
| フィールド名 | データ型 | 説明 |
|---|---|---|
| ID | オートナンバー型 | |
| 受注区分 | 短いテキスト | 1製品マスタあり、2製品マスタなし、3材料受注、4シート受注 |
| 受注日 | 日付/時刻型 | 受注登録日 |
| 取引先コード | 数値型 | 取引先マスタと連動 |
| 手配番号 | 短いテキスト | 手配番号(注文番号)※主キー |
| 図番ID | 数値型 | 製品マスタと連動(マスタなしは空欄) |
| 図番 | 短いテキスト | 製品マスタと連動(マスタなしは任意図番) |
| 納期 | 日付/時刻型 | 客先納期 |
| 数量 | 数値型 | 注文数量 |
| 単価 | 数値型 | 製品単価 |
| 備考 | 短いテキスト | 備考・メモ |
| 分納残数 | 数値型 | 納品後、残数更新(受注時=数量) |
| 分納回数 | 数値型 | 納品回数(受注時はゼロ) |
| 訂正日 | 日付/時刻型 | 受注訂正があった場合の訂正日 |
| 取消日 | 日付/時刻型 | 受注取消があった場合の取消日 |
| 取消 | Yes/No型 | 取消時のフラグ |
| 発行 | Yes/No型 | 製造依頼書発行の可否フラグ |
| 納期回答 | 日付/時刻型 | 納期回答をした場合に回答日を格納 |
| 成形課 | Yes/No型 | 成形課管轄の場合 |
| 加工課 | Yes/No型 | 加工課管轄の場合 |
| 印刷課 | Yes/No型 | 印刷課管轄の場合 |
| 従業員コード | 数値型 | 受注登録者の登録 |
| インポート | Yes/No型 | 受注データをインポートした場合の可否フラグ |
| 登録なし | Yes/No型 | マスタなし受注時の可否フラグ |
| 予定 | 日付/時刻型 | 生産予定が組まれた場合に日付が更新される |
| 成形フォーキャスト | Yes/No型 | 成形のフォーキャスト発注として受注処理した場合のフラグ |
| 加工フォーキャスト | Yes/No型 | 加工のフォーキャスト発注として受注処理した場合のフラグ |
| 現品票区分 | 短いテキスト | 1: 成形課 2: 加工課(製品マスタに連動) |
| 仕入先コード | 数値型 | 仕入れ単価 |
| 仕入先単価 | 数値型 | 仕入れ単価 |
| 材料手配 | Yes/No型 | 材料受注の場合にフラグ |
| 生管予定 | Yes/No型 | 生産管理が予定組みした場合のフラグ |
| 生管予定日 | 日付/時刻型 | 生産管理が予定組みされた初日の日付 |
| 生管メモ | 短いテキスト | 生産管理のメモ・備考 |
| 生管回答 | Yes/No型 | 生産管理から客先に納期回答をしたかの可否フラグ |
| 本社転送日 | 日付/時刻型 | 本社へ転送がある場合の転送日 |
| 出荷情報 | 短いテキスト | 製品出荷時のメモ・備考 |
| エクスポート | Yes/No型 | データをエクセルエクスポートした場合のフラグ |
| 更新者コード | 数値型 | 編集更新した人のログ |
| 納期設定 | 日付/時刻型 | 拡張用(未使用) |
T20受注分納印刷 テーブル
注文数量を複数回に分けて納品する場合に、分納ごとの注文書・納品書を印刷するためのデータを一時的に保持するテーブルです。T20受注Mの内容をベースに、印刷時点で必要な情報のみを抽出して格納する構成になっています。
T20受注分納印刷 テーブルデザインビュー
T20受注分納印刷 フィールド構成
| フィールド名 | データ型 | 説明 |
|---|---|---|
| 取引先コード | 数値型 | |
| 手配番号 | 短いテキスト | 手配番号(注文番号) |
| 図番 | 短いテキスト | 製品マスタと連動 |
| 図番ID | 数値型 | 製品マスタと連動 |
| 納期 | 日付/時刻型 | 納期(客先納期) |
| 数量 | 数値型 | 注文数量 |
| 単価 | 数値型 | 注文単価 |
| 分納残数 | 数値型 | 分納後の残数を格納 |
| 分納回数 | 数値型 | 分納した回数をカウントして格納 |
| 従業員コード | 数値型 | 分納伝票発行者コード |
| 備考 | 短いテキスト | 備考・メモ |
| 設定数量 | 数値型 | 拡張機能用(未使用) |
| 設定納期 | 日付/時刻型 | 拡張機能用(未使用) |
| 2次加硫条件 | 短いテキスト | 製品マスタと連動 |
| 受注日 | 日付/時刻型 | 元の受注日(受注マスタと連動) |
T20受注自動手番 テーブル
手配番号(注文番号)は登録者が任意に設定できますが、客先からの注文番号がない場合に備えて自動採番も選べるようになっています。このテーブルは自動採番された手配番号を管理し、重複が発生しないように制御しています。
T20受注自動手番 テーブルデザインビュー
T20受注自動手番 フィールド構成
| フィールド名 | データ型 | 説明 |
|---|---|---|
| ID | オートナンバー型 | |
| 自動手配番号 | 短いテキスト | 自動採番された手配番号 |
| 登録日 | 日付/時刻型 | 採番登録日 |
| 削除フラグ | Yes/No型 | 削除フラグ |
まとめ
受注管理は、受注データ本体を持つT20受注M、分納印刷用の一時データを持つT20受注分納印刷、手配番号の自動採番を管理するT20受注自動手番の3テーブルで構成されています。テーブル間に正式なリレーションは組まず、それぞれが独立した役割を担う設計です。
本サイトではマクロを用いた構築手順を中心に紹介していますが、決してマクロを唯一の正解として推奨しているわけではありません。VBAが扱える環境であれば、より多彩で柔軟なプログラムが組めるVBAでの構築をむしろ推奨したいと考えています。
ここでマクロという選択肢を提示しているのは、VBAにハードルを感じている方への「もう一つの入り口」として、また将来的な後継者への引き継ぎ負荷を抑えるという実務上のメリットを考慮してのことです。設計の考え方の一つとして、状況に合わせて活用してください。