Access 文字+年ごとの自動採番
Accessは全くの初心者です。
プログラマーさんのサイトや質問サイトを参考に、初めてデータベースを作っているのですが、
どうしても文字+年ごとの自動採番がうまくいきません。
挿入前処理で「営250001」のように漢字1文字+和暦2桁+4桁連番にして、
年が変わるごとに4桁連番を0001に戻したいのです。
今入力してあるコードは以下の通りです。
-----------------------------------------------------------------------------
Private Sub Form_BeforeInsert(Cancel As Integer)
Dim vDt As Variant
vDt = DMax("番号", "営テーブル", "番号 Like '" & Format(Date, "ee") & "*'")
If (IsNull(vDt)) Then
番号 = "営" & Format(Date, "ee") & "0001"
Else
番号 = "営" & Left(vDt, 2) & Format(Val(Right(vDt, 4)) + 1, "0000")
End If
End Sub
-----------------------------------------------------------------------------
この状態では、0001のまま採番が進まず、行き詰ってしまいました。
他の質問者さんが(Date,"ee")を(Now,"nn")に置き換えて、分ごとの採番を試していたのを参考に、
「"営"&」を取って、採番が進むところまでは確認できました。
使っているのはAccess2003です。
どうか、よろしくお願いします。
お礼
utakataXEXさん、何度もありがとうございます。 締め切るの忘れていました。(^_^;) おかげで、また情報をいただけました。 セッション管理には使いません。 ただ、スレッドセーフな状態というのは、 少々怪しい部分もあるので、ソフト同士の状態をスレッドセーフにできるかどうか実験してみたいと思います。 ありがとうございます。