重置自动编号,并从自定义值开始 -张志
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> 综合其它


重置自动编号,并从自定义值开始

发表时间:2004/4/12 评论(2) 浏览(7625)  评论 | 加入收藏 | 复制
   
摘 要:在实际工作中,如果您采用了自动编号字段,当删除一条记录时,自动编号将没有连续性,而这时侯你可能需要连续值或是希望自动编号从某值开始,这时我们可以采用下面的代码来实现。
正 文:

首先在模块中定义下面的函数。

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)


Access软件网交流QQ群(群号:198465573)
 
 相关文章
解决access表中自动编号字段重新从1计数问题  【褚玉春  2009/5/5】
[access查询]对竹笛先生的[示例]查询中自动编号的修改   【wqm099  2010/9/1】
【access小品】看不见的美观--自动编号重排  【todaynew  2010/9/16】
重置自动编号,并从1开始   【王樵民  2010/10/23】
【access源码】分组自动编号\筛选数据后自动分组编号的示例\分...  【麥田  2011/7/26】
 
 访客评论
2018/9/30法克柚
不错,终于用一个按键解决了麻烦的重置问题

2016/10/23沙溪一滴水
我试用了下,好象db.Execute "INSERT INTO [" & strTableName & "] ([" & strPKField & "]) valueS(" & lngStartNumber - 1 & ");"
    db.Execute "DELETE * FROM [" & strTableName & "];"这二句位置要颠倒一下且改成以下语句才正常:    db.Execute "DELETE * FROM [" & strTableName & "];"
    db.Execute "Alter TABLE [" & strTableName & "] Alter COLUMN " & strPKField & " COUNTER(" & lngStartNumber & "," & BC & ");"

总记录:2篇  页次:1/1 9 1 :
 
 发表评论
评论内容 (必填)

常见问答
技术分类
相关资源
文章搜索
关于作者

张志

文章分类

文章存档

友情链接