我有一个表单,设置用于无法正常工作的数据输入。当表单打开时,它是空白的,但是当在任何字段中输入任何内容时,主键字段(可见但在表单上不可编辑)将自身设置为已在使用的值。主窗体上的其余字段保持空白,但是我的子窗体填充了与主键对应的值。表单的源是一个从后端链接到数据库的表。该表没有遗漏记录。我尝试关闭表单时得到的确切错误是:
"您向表请求的更改未成功,因为它们会在索引,主键或关系中创建重复值。更改包含重复数据的字段或字段中的数据,删除索引或重新定义索引以允许重复条目,然后重试。"
在另一个表单上发生同样的错误,然后仅用于更新记录。任何在子窗体上的字段中输入任何内容时都会出现错误。
任何想法都表示赞赏! 感谢
答案 0 :(得分:0)
据我所知,Access会自动将新值插入自动编号字段,此值已存在。如果是这样,请运行compact&修复,它会在字段+ 1
中将自动编号的下一个值设置为最大值 Access使用内部计数器为自动编号字段生成新值,而不是最大值。可以通过使用例如INSERT
SQL语句向autonumber字段插入任何值来设置此内部计数器,在某些情况下也可以在使用链接子表单的表单中编辑数据时完成。内部计数器重置为最后插入值+ 1。修复计数器重置为实际最大值+1。