[原创]让ACC删除记录后自动排序字段不断号

ziyantan ziyantan 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
文章首发www.gdsspt.com/JBbs
作者:子言[JaSoft]


让ACCESS的自动编号在记录删除后不断号,我们可以在删除记录后,用ACCESS打开数据库接着删除ID自动排序字段再重建ID字段,用ACCESS做当然很简单,但如果用程序执行SQL去做,就要注意点问题了。
如下是处理办法,代码:

If Request.QueryString("action")="del" Then
Dim id,Sql,Cat,SQLR,page
id = Request.QueryString("id")
page = Request.QueryString("page")
Conn.ExeCute("DELETE * FROM [BlackLog] WHERE id="&id&"")
Conn.ExeCute("DROP INDEX ID ON [BlackLog]")
Sql = "ALTER TABLE [BlackLog] DROP COLUMN Id" 
Conn.ExeCute(Sql)
'PRIMARY KEY
SqlA = "ALTER TABLE [BlackLog] ADD Id AUTOINCREMENT"
Conn.ExeCute(SqlA)
Conn.ExeCute("CREATE INDEX ID ON [BlackLog] (ID)")
 Response.write "<script language='javascript'>" & chr(13)
response.write "alert('删除记录成功!');" & Chr(13)
response.write "window.document.location.href='Index.Asp?page="&page&"';"&Chr(13)
response.write "</script>" & Chr(13)
Response.End
End If

相信大家都看得懂写,具体的主要要说明的一下的如下:

DROP INDEX ID ON [BlackLog] 删除ID字段中的索引

ALTER TABLE [BlackLog] ADD Id AUTOINCREMENT 建立自动排续字段ID


CREATE INDEX ID ON [BlackLog] (ID) 建立ID索引在ID字段中

因为自动排序字段还有个索引的问题,所以在没删除索引前我们不能更新字段,也不能删除字段,所以必先处理索引。

但必须要注意的是,我们这里的索引名称为ID,所以我们在操作前必须把索引更名,操作如下:

打开表设计视图 ---> 菜单栏 ---> 索引 ---> 把原本ID字段的索引去掉,添加索引名称为ID 指向 ID 字段

 程序演示www.gdsspt.com/Tacc

 演示程序都打好包,可以在演示处下载。

 网上还有些人使用的是重建表的方法,这样的操作量比较大,当数据库记录数比较多的时候比较低效。谢谢各位阅读,如果你有更好的方法,可以到我的网站提出你的看法。本人纯粹因为有人要求这样做才搅了这个出来,虽然没意义,但作为ACCESS操作说一下都无伤大雅。最后谢谢各位。
...全文
评论 3
收藏 已收藏
分享
返回顶部
ziyantan
非技术区 2,131 成员 37,911 内容