在压缩/修复期间防止自动编号重置 (MS Access)

Posted

技术标签:

【中文标题】在压缩/修复期间防止自动编号重置 (MS Access)【英文标题】:Prevent AutoNumber Reset During Compact/Repair (MS Access) 【发布时间】:2017-12-14 14:49:35 【问题描述】:

在压缩/修复 Access 数据库期间,是否可以防止自动编号 ID 重置?

例如,如果我有记录 1-10,我删除记录 10,然后压缩/修复,10 将是下一条记录。我希望 11 成为下一个记录。

提前致谢!

【问题讨论】:

我要问:为什么?如果有 anything 仍然指向记录 10,则您不应该删除它。如果不是,那么新记录的 ID 为 10 一点也不重要。 我相信答案是否定的。正如@Andre 所问,这有什么关系? 我设置数据库(以编程方式)从一个表中删除一条记录并将其插入到另一个表中。当我压缩和修复时问题出现了,因为现在有“未使用”的数字被重置。如果我要将记录 10 从一个表移动到另一个表,然后压缩和修复,则记录 10 在第一个表中变为可用。现在,当我尝试将新记录 10 移动到第二个表时,它会出错,因为我不能有两个记录 10。 【参考方案1】:

自动编号仅用于识别记录,应该没有意义。

如果 10 和 11 等对您的应用程序和/或用户来说意味着什么,请有一个单独的字段来保存这些数字。

【讨论】:

谢谢 - 这是我的一个短板。

以上是关于在压缩/修复期间防止自动编号重置 (MS Access)的主要内容,如果未能解决你的问题,请参考以下文章

ACCESS自动编号重新从1开始

如何在ms访问中重置自动增量字段[重复]

重置数据库中的自动编号(身份字段)

如何让access自动编号从1开始排序实现方法

单击“压缩和修复数据库”后,如何阻止 vba 编辑器中的 MS 访问断点消失?

TSQL重置表主键自动编号