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

ziyantan 2006-02-27 10:18:47
文章首发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操作说一下都无伤大雅。最后谢谢各位。
...全文
110 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rqrq 2006-02-28
  • 打赏
  • 举报
回复
收藏~~~有时候挺有用的
mrshelly 2006-02-28
  • 打赏
  • 举报
回复
先留个脚印。
anwell 2006-02-28
  • 打赏
  • 举报
回复
mark

2,100

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧