HOME > 即効テクニック > Access一般機能 > 日付・文字列操作・演算 > 伝票番号を自動的に付ける(日付+連番)

即効テクニック

日付・文字列操作・演算

伝票番号を自動的に付ける(日付+連番)

( - )
日付+連番で管理している場合の伝票番号を自動で取得する方法です。

●手順●
受注テーブルは、以下のようになっていると仮定します。
受注(伝票番号、日付、顧客番号、・・・・・)

  1. 受注テーブルをデザインビューで開きます。
  2. 伝票番号のデータ型を[テキスト]に設定します。伝票番号の項目を主キーを設定します。 伝票番号は、西暦(4桁)月(2桁)日(2桁)連番(3桁)合計11桁の大きな数字になりますがアクセスが管理できるのは、長整数型の場合2,147,483,647までですので、テキスト型で処理します。
  3. [受注]のフォームを作成します。
  4. 受注フォームで伝票番号用のテキストボックスを作ります。
  5. 伝票番号の[プロパティ]-[データ]-[規定値]に以下の数式を入力します。  =IIf(DMax("伝票番号","受注","伝票番号 Is Not Null") Is Null,CLng(Format$  (Now(),"yyyymmdd"))*1000+1,IIf(Left(CStr(DMax("伝票番号","受注","伝票番号  Is Not Null")),8)=Format$(Now(),"yyyymmdd"),DMax("伝票番号","受注","伝票番号   Is Not Null")+1,CLng(Format$(Now(),"yyyymmdd"))*1000+1))
  6. フォームをデザインビューからフォームビューに切り替えます。
  7. 新しくデータを入力して、規則どおり伝票番号が生成されているか確認をします。
●ポイント● 伝票番号から最大値を探します。その最大値が、本日の日付と一致したら、最大値に1を加えた値が新しい伝票番号になります。違う日付の場合には、連番の部分を1から付けます。 データが1件も無い場合は、無条件に本日の日付+連番1になります。 既定値として入力させているだけですから、表示されている伝票番号を削除して違う伝票番号を入力できます。 伝票番号全体を検索しますので、規則に従わないデータが入っている場合は正常に機能しない場合があります。