ACCESSで、DMax関数の条件の書き方
ACCESS2002を使用しています。
自動的に連番を採番するコードを書きましたが、DMax関数でうまく最大値を取得できません。
条件式がうまく書けていないと思うのですが、どうぞお知恵をお貸しください。
テーブル[t_受注]にあるフィールド[受注コード]は、「yyyymm000」のように9桁表示です。
「yyyymm」の部分は現在の年月から取得し、「000」の部分は年月ごとに001~連番を採番しています。
しかし年月が変わるとうまく最大値を取得できず、次のように連番が採番されてしまいました。
[受注コード]
200705001
200705002
200705003
200705004
200706001
200706005(本当は200706002と自動採番したいのです)
最大値(MaxID)取得するコードはこのように書いております。
よろしくお願いします。
-------------------------------------------------------------------------------------------
Dim NowYearMonth As String
Dim MaxYearMonth As String
Dim MaxID As String
NowYearMonth = Format(Date, "yyyymm")
MaxYearMonth = Nz(DMax("Mid$([受注コード],1,6)", "t_受注"), "")
MaxID = Nz(DMax("Mid$([受注コード],7,3)", "t_受注"), "NowYearMonth=MaxYearMonth")
-------------------------------------------------------------------------------------------
お礼
早速ご回答いただきありがとうございます。配列に関する知識がなかったので、勉強になりました。方法1で希望する結果を得られました。