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