Microsoft Access 掲示板

日付が変わる毎の自動連番 / 1

6 コメント
views
4 フォロー
1
hiroton 2021/08/30 (月) 16:42:34 e0e58@f966d

AutoID = Format(Date, "yyyymmdd")→8桁(文字)
Left(受注コード,4)→4桁(文字)

"Left(受注コード,4)=" & AutoIDは常に一致するものが存在しないのでMaxIDは常にNullです

通報 ...
  • 2

    hiroton様
    ご回答ありがとうございます。

    ただ、すみません・・・。
    当方のレベルでまだご回答頂いた内容が理解できていません・・・。
    申し訳ございません・・・、つまりどういう事でしょうか?

    宜しくお願い致します。

  • 3
    hiroton 2021/08/30 (月) 17:07:52 e0e58@f966d >> 1

    検索条件「"Left(受注コード,4)=" & AutoID」は絶対に一致するものがないので
    DMax("受注コード", "T_受注", "Left(受注コード,4)=" & AutoID)はどんな場合でもNullになります

     MaxID = DMax("受注コード", "T_受注", "Left(受注コード,4)=" & AutoID)
    '//MaxIDは常にNull
    
     If IsNull(MaxID) Then
        '//必ずここを通る
        Me.受注コード.DefaultValue = AutoID & "001"
     Else
        '//MaxIDは常にNullなのでプログラムがここを通ることはない
        Me.受注コード.DefaultValue = AutoID & Format(Right(MaxID, 3) + 1, "000")
     End If
    
    

    なので、いくらレコードが追加されても「受注コード」は「AutoID & "001"」にしかなりません

    4

    ありがとうございます。

    そういう事なんですね。
    ご指摘を受けて、コードを触ってはみるのですがどうもうまく動きません。
    どうすれば下3桁を自動連番にできますか?
    教えて頂けませんか?

    宜しくお願い致します。