今回はファイルメーカーのシリアル番号発番方法のご紹介です。
通常シリアル番号は該当フィールドを自動発番にすることで可能です。しかし販売管理では、請求明細書のように、先月の締日から当月締日までに請求書が何件か存在する場合困ることがあります。
<Photo Data>2018/05/04 三重なばなの里にて
EOS1DX EF24-105mm F/4L IS USM
1/160 f4 105mm 天候雨
納品書番号 | 納品日付 |
123 | 2018/05/04 |
130 | 2018/05/15 |
137 | 2018/0522 |
納品書と請求書に番号の関連性がありません。
対策として、納品書単位で発番せず、請求明細書という別テーブルを作り、リレーションをかけました。
この時のリレーションシップ例を左記に掲載します。
請求明細書は顧客単位に締日でくくった番号発生にします。
この明細書を明細書ID台帳として明細書の番号を発番させる元帳にします。明細書ID番号というフィールドを作り、フィールドOptionで番号をシリアル自動発番にセットします。
この明細書テーブルは、明細書が新規発生する都度ID番号が一つ増加します。
掛け販売または仕入の場合、1顧客(または仕入先)に対し1締日、1明細書になります。生成した番号が重複しないようにスクリプトで制御管理します。
下記はそのスクリプト事例です。
動作としては、明細書ID台帳に同じ顧客、同じ締日の登録が既にあればその明細書番号を読み出します。番号が存在しなければレコードを新規発番し、発番された番号が明細書番号になります。
この番号を請求明細書に印刷時に送信してプリントします。
このレイアウトの例を最下部に掲載しました。
以上です。
Kazunori Fukuma
1st 2018/05/04
2nd 文言修正 2018/05/17