用于数据输入的表单集尝试创建重复记录导致错误

Posted

技术标签:

【中文标题】用于数据输入的表单集尝试创建重复记录导致错误【英文标题】:Form set to be used for data entry attempting to create duplicate records causing error 【发布时间】:2016-07-11 14:08:51 【问题描述】:

我有一个设置为用于无法正常工作的数据输入的表单。当表单打开时,它是空白的,但是当在任何字段中输入任何内容时,主键字段(在表单上可见但不可编辑)将自身设置为已在使用的值。主表单上的其余字段保持空白,但是我有子表单填充与主键对应的值。表单的来源是从后端链接到数据库的单个表。该表没有丢失的记录。当我尝试关闭表单时,我得到的确切错误是:

“您请求的对表的更改不成功,因为它们会在索引、主键或关系中创建重复值。更改包含重复数据的字段或字段中的数据,删除索引,或重新定义索引以允许重复条目,然后重试。”

同样的错误发生在另一个仅用于更新记录的表单上。只要在子表单的字段中输入任何内容,就会出现该错误。

感谢任何想法! 谢谢

【问题讨论】:

【参考方案1】:

据我了解,Access 会自动向自动编号字段插入新值,并且该值已经存在。如果是这样,请运行压缩和修复,它将自动编号下一个值设置为字段中的最大值 + 1

Access 使用内部计数器为自动编号字段生成新值,而不是最大值。此内部计数器可以通过使用例如INSERT SQL 语句向自动编号字段插入任何值来设置,也可以在某些情况下在具有链接的子表单的表单中编辑数据时完成。内部计数器重置为最后插入的值+1。压缩和修复后计数器重置为实际最大值+1。

【讨论】:

以上是关于用于数据输入的表单集尝试创建重复记录导致错误的主要内容,如果未能解决你的问题,请参考以下文章

当我记录它时,从现有表单创建的 FormData 似乎是空的[重复]

如何创建包含多部分表单数据的可重复 POST 请求?

如何将数据集拆分为两个具有唯一和重复行的数据集?

如何将数据集拆分为两个具有唯一和重复行的数据集?

设置在重复输入尝试唯一字段时导致 php 错误?

mysql 如何去除表连接查询出来的重复数据