我正在处理一个包含许多表的大型数据库,所有表都有自动编号的主键。数据库存储在网络上,多个人可以 Access 。
我的问题是:一位用户在通过表单向表格添加数据时丢失了网络连接。其他几个人随后向表中添加了数据。这给出了一个主键丢失的情况(例如,主键从 1 到 2000,但是 PK 1974 的条目丢失了——当用户失去连接时创建的那个)。我被要求将缺失的数据插入表中,并在表中的适当位置插入缺失的键 ID。我使用了“DoCmd.RunSQL”INSERT INTO 'tablename' (PrimaryKeyID, Field1) VALUES ('1974', value1)”。
这导致了问题,因为 Access 认为它必须创建的下一个“最新”主键是“1975”,我们收到了一条关于重复键的消息。此后,一些人设法添加了新数据,但是任何后续新数据都是在 1976 年、1977 年等创建的,这将覆盖现有数据。
谁能告诉我为什么会这样?有没有办法强制 Access“查看”表中最大的主键以创建新的自动编号键?
谢谢
李
最佳答案
尝试压缩后端。我认为它应该重置新值。
关于mysql - MS Access 主键自动编号变得困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29736468/