塔子 發問時間: 電腦與網際網路軟體 · 1 0 年前

關於Access的”自動編號”功能

將欄位設定為自動編號,但格式我想要與另一欄位[年]結合,

例如:96000001([年]為96+自動編碼的6碼),請問要如何設定呢?

3 個解答

評分
  • 同學
    Lv 7
    1 0 年前
    最佳解答

    1.建立表單

    2.滑鼠右鍵點[捐款年]-->屬性-->出現下圖對話框

    3.事件-->After Update-->事件程序-->滑鼠左鍵點右側紅圈處

    圖片參考:http://img117.imageshack.us/img117/6892/access17ib...

    4.進入VBA畫面輸入紅色部分

    Private Sub 捐款年_AfterUpdate()

    MaxID = DMax("收據號", "donations", "捐款年 Like '" & Me.捐款年 & "'")

    If IsNull(MaxID) Then

    Me.收據號 = Me.捐款年 & "000001"

    Else

    Me.收據號 = Me.捐款年 & Format(Right(MaxID, 6) 1, "000000")

    End If

    End Sub

    當您輸入捐款年後,收據號就會自動由[年 000001]編起,往後自動加1

    ,不同年度時也會由[年 000001]編起,往後自動加1

    如果有輸入不同年度時,會自動找到最大號碼再加1

    不知這樣是否為您所需,有問題再連絡

    參考資料: 牛仔褲大大的解答
  • 1 0 年前

    有個方法也不用用到VBA

    就是在建立欄位的時候把文字格式改成純文字

    在預設值中給編碼條件

    舉例: 在[資料表A]裡的[編號]欄位, 要自動編成96000001

    就在預設值中打入

    =Format(Date()-1911,"yy") & Format(1+Right(DMax("[編號]","[資料表A]"),6),"000000")

    唯獨第一次開啟的時候要自己把後六碼000001補上(因為資料表中尚無任何資料), 往後新增時就會自動編碼了

  • 1 0 年前

    1:access自動編號的欄位是內建函數_只能設定格式.無法作到你的要求.

    2:多設一個欄位.在表單物件使用vba可以作到你的要求.

還有問題?馬上發問,尋求解答。