Access数据库自动编号问题

来源:百度文库 编辑:神马文学网 时间:2024/05/23 19:22:59
A:
Access数据库中,如果一个字段是自动编号ID,当一条记录被删除时,自动编号也被删除了,如何使自动编号不被删除?
Q:
在最后加一个del字段,默认值为0,表示没被删除,当删除某条记录时其实并不是真正的删除它,而是把del字段的值改为1,表示已经删除。
查询的时候不查询del字段值为1的字段,这样的话那个字段的信息就不会显示出来,也就等于是虚拟的删除了。等下次添加新记录的时候就查询del字段为1的第一个记录,如果存在,就把它的信息用新的信息覆盖,然后再把del字段的值更新成0,如果不存在,就用addnew新建立一条记录,把这条记录写进去。这样的话不会造成id丢失。
而且另一方面还可以多出一个回收站,那里面可以显示所有del字段标记为1的记录,也就是已经删除还没被新记录覆盖的记录,如果你后悔的话,还可以赶在它被新记录覆盖之前把它的del字段的值改为0,这样的话它就又原样不动的被恢复出来了,方便又安全,我觉得还是比较不错的。
如果实在是已经用很多记录标号被物理的删除了,也是可以恢复的,不过比较难,需要使用微软的dategard控件,调用这样控件打开数据库后,可以直接在自动编号字段里输入你想要的值,比方1这个自动标号已经被删除了,你只需要输入1,那么1这样自动编号马上就将在access里起死回生。我这样做过几次,不过由于比较麻烦,就不这样做了,仍是选择使用del字段标记的方法。