以前に下記のような質問を見つけ、項目毎の自動採番に転用し運用していました。

以前に下記のような質問を見つけ、項目毎の自動採番に転用し運用していました。 質問: 二つの項目を選択後、選択した項目ごとに自動採番したい。 テーブル名:発行簿 フィールド名: ・コード [テキスト型] リストボックスより選択 A;B;C ・区分 [テキスト型] リストボックスより選択 前;中;後 ・発行番号 [テキスト型] 主キー 自動採番 発行番号 に A-前-001 A-前-002 A-中-001 A-後-001 B-前-001 B-中-001 B-後-001 C-前-001 回答: 区分の更新後処理に、 Me!発行番号 = Me!コード & "-" & Me!区分 & "-" & Format(Val(Right(Nz(DMax("発行番号", "発行簿","コード='" & Me!コード & "' AND 区分='" & Me!区分 & "'" )),3)) + 1, "000") ここで質問なのですが、例えば 区分 が 「後」 のときのみ、連番を 501 から始めるという方法はあるのでしょうか? A-後-001→ これを A-後―501に B-後-001→ これを B-後―501に 見様見真似ですので、応用がありません。よろしくお願いいたします。

Microsoft Access15閲覧xmlns="http://www.w3.org/2000/svg">100

ベストアンサー

0

> 項目毎の自動採番に転用し運用していました。 すでに発行された番号をどうするか、という問題は残りますが、 とりあえず、 Dim BaseNum If Me!区分 = "後" Then     BaseNum = 500 Else     BaseNum = 0 End If Me!発行番号 = Me!コード & "-" & Me!区分 & "-" & Format(Val(Right(Nz(DMax("発行番号", "発行簿", "コード='" & Me!コード & "' AND 区分='" & Me!区分 & "'"), BaseNum), 3)) + 1, "000")

ThanksImg質問者からのお礼コメント

ご回答ありがとうございました。 本日早速試してみたところ、新規から番号を採番すると、「後」を選んだデータは 501と500番台から採番することが出来ました。 ただ、すでに 「後」で採番した A-後-001等の に関しては、A-後-002 A-後-003 と最初の番号の後を連番で採番するので、 運用を考えていきたいと思います。 本当にありがとうございました。

お礼日時:9/23 8:46

その他の回答(1件)

0

発行簿テーブル コード_区分_発行番号 A_後_500 B_後_500 のように初期値-1を発行簿テーブルに 入れておけばいいのでは?

ご回答ありがとうございます。 大変申し訳ありません。 コードは複数にあり、区分のみが 前;中;後;の三つなので、 区別する為 「後」 の時のみ 500番台から始めることが出来ればと 考えました。 初期値ー1を発行簿テーブルに入れておくとは、一番最初に 発行番号を入力しておくと、言うことでしょうか? 全く理解出来ていなく、申し訳ありません。