Microsoft Access 掲示板

ダイアログのフォームにあるテキストボックスに値を格納したい / 5

25 コメント
views
4 フォロー
5
wazawaza 2023/06/16 (金) 07:38:32

hatenaさん
チョット変化しましたので報告します。
ココが原因なのかな?と薄々思っていたのですが...。

自動採番する仕組みとなっておりまして...

'##############################
'### レコード移動時のID採番 ###
'##############################

Private Sub Form_Current()

    Me.btn_最新ID取得.Enabled = True  '「btn最新ID取得」を使用可能に
    Me.btn_追加.Enabled = False       '「btn追加」を使用不可に(最新ID取得に導く仕掛け)
    
    Const prefix As String = "L"  '「Laminate」の頭文字 "L"
    
    Dim maxID As String
    maxID = DMax("fld_依頼ID", "T_依頼")  '最終IDを取り出す
    
    Dim lastNum As Long
    lastNum = Replace(maxID, prefix, "")  '最終IDから頭文字"L"を除き、数値型へ代入する
    
    Dim newID As String
    newID = prefix & Format(lastNum + 1, "000000")  '+1して桁を揃えて頭文字"L"と結合
    
    Me.txt_依頼ID.DefaultValue = "'" & newID & "'"  '既定値へ代入

End Sub

という具合になっていますが
試しに、ココに Me.[txt_依頼ID].Value = OpenArgs を入れると
採番は出来なくなる一方、fld_依頼IDをダブルクリックすると代入できる
ようになりました。

自動採番の機能を残しつつ、代入の方法はありますか?

通報 ...