测试方法是建一个表:表2,字段名:swss,sw,建一个窗体,(需引用DAO3.60)
在代码中写如下测试语句
Sub test()
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("表2")
rs.AddNew
rs(0) = autoID("swss", "表2")
Debug.Print rs(0)
rs.Update
rs.Close
Set rs = Nothing
End Sub
'执行自动编号的函数如下
Function autoID(fld As String, tbl As String) As String
On Error GoTo err_handler
Dim aphi As String
aphi = DMax(fld, tbl)
If aphi = "z" Then
MsgBox "你的值已经最大,不能再添加!", vbCritical + vbOKOnly, "提示"
Exit Function
ElseIf DCount(fld, tbl) > 0 Then
autoID = Chr(Val(Asc(aphi) + 1))
End If
err_handler:
If Err.Number = 94 Then autoID = "a"
End Function