Microsoft Access 掲示板

複数選択後、項目毎の自動採番について / 2

5 コメント
views
4 フォロー
2
勉強しています。 2020/09/19 (土) 14:38:52 cd439@00650

詳しく書いて説明して頂き、ありがとうございます。
出先のため、後日じっくりと勉強させていただきます。

通報 ...
  • 3
    勉強しています。 2020/09/23 (水) 09:07:51 0227b@96e2f >> 2

    hiroton様
    回答頂きましてありがとうございます。
    簡単に、どこかに条件分岐を入れるといいのかな~、などと考えていました。
    式を分解して考える事が基本に繋がるのですね。
    マネだけせずに、考えていきたいと思います。

  • 5
    hiroton 2020/09/23 (水) 10:33:29 7416f@f966d >> 2

    3つ目のブロックに回答っぽいものがありますが1行で書くなら

    Me!発行番号 = Me!コード & "-" & Me!区分 & "-" & Format(Val(Right(Nz(DMax("発行番号", "発行簿","コード='" & Me!コード & "' AND 区分='" & Me!区分 & "'" )),3)) + 1, "000")

    Me!発行番号 = Me!コード & "-" & Me!区分 & "-" & Format(Val(Right(Nz(DMax("発行番号", "発行簿","コード='" & Me!コード & "' AND 区分='" & Me!区分 & "'" ),IIf(Me!区分 = "後", 500, 0)),3)) + 1, "000")

    '//コード表示
    Me!発行番号 = Me!コード & "-" & Me!区分 & "-" & Format(Val(Right(Nz(DMax("発行番号", "発行簿","コード='" & Me!コード & "' AND 区分='" & Me!区分 & "'" ),IIf(Me!区分 = "後", 500, 0)),3)) + 1, "000")
    

    フォーム上のテキストボックスだとか、レポートで一発表示だけしたいとか、どうしても計算式1行で済ませなければいけないという要件がでることもままあります。どっちも同じことをやっているのでどっちが基本ということもないですがVBAで記述するなら柔軟性を活用すべしということですね

    自分でも見直したコードを追記してみた(やっていることは変わらない)ので見比べてみてください