摘 要:在实际工作中,如果您采用了自动编号字段,当删除一条记录时,自动编号将没有连续性,而这时侯你可能需要连续值或是希望自动编号从某值开始,这时我们可以采用下面的代码来实现。
正 文:
首先在模块中定义下面的函数。
Sub sSetAutoNumber(strTableName As String, strPKField As String, lngStartNumber As Long)
On Error GoTo E_Handle
Dim db As Database
Set db = DBEngine(0)(0)
db.Execute "INSERT INTO [" & strTableName & "] ([" & strPKField & "]) valueS(" & lngStartNumber - 1 & ");"
db.Execute "DELETE * FROM [" & strTableName & "];"
sExit:
On Error Resume Next
Set db = Nothing
Exit Sub
E_Handle:
MsgBox Err.Description, vbOKOnly + vbCritical, "Error: " & Err.Number
Resume sExit
End Sub
执行下面代码:
'tblCustomer是指表名 CustomerID是该表中的一个字段名
'下面代码是将表tblCustomer的字段CustomerID的自动编号起始值从1000开始。
Call sSetAutoNumber("tblCustomer","CustomerID",1000)