如果 Access table 具有现有数据并且我们不能丢失现在存在的数字,我如何仍然在其中使用自动编号?

How can I still use autonumber in an Access table if it has existing data and we cannot lose the numbers that are there now?

我真的很忙。我们有 table 现有数据,超过 100K 条记录。它有一个自动编号的整数主键。请不要问,我们不得不进行一些合并和重新导入。长话短说,Access 不允许我将该 PK 字段改回自动编号。而且因为还有其他 tables 具有指向该字段的外键,所以我不能只重新创建该字段。我需要某种方法至少让 Autonumber 与现有字段一起使用,或者进行手动自动编号。如果有帮助,可以通过绑定表单添加记录。我尝试将代码放在 BeforeInsert 中以手动自动增加最高 ID 字段,但是当我们返回数据输入表单时,我们收到一条错误消息,“Access Database Engine cannot find a record in with key matching field( s) 。每当表单刷新时都会发生这种情况。必须有一个优雅的方法来解决这个问题,但我们已经处理这个问题几个小时了,我迫切需要任何解决方法的想法。

谢谢!

创建一个新的 table,它是您当前 table 的副本。在这个新的 table 中,将您的主键字段设置为自动编号。 接下来,创建一个附加查询,将当前 table 中的所有行附加到新的 table。 最后,将您当前的 table 重命名为 _backup。 将您创建的新 table 重命名为当前 table 的原始名称,.