将焦点移动到子窗体或acSaveRecord时访问2010错误

时间:2016-09-01 21:17:13

标签: access-vba ms-access-2010 subforms

所以我在Acess 2010中有一个Form,有两个子表单来管理一对多的关系,对于Projects和Tasks,它们绑定到SQL Server上的两个链表,所以每当我加载一个项目时,任务就列在子表单。

最近,当我从主窗体上的字段移动到子窗体的任何区域时,我遇到了错误on primary key violation。这告诉我主要表单是试图保存它所加载的任何内容,但它没有UPDATE,而是试图INSERT。

我可以看到(可能在更新之前或之后)没有可以执行该特定命令的代码或事件。表单上有一个“保存”按钮,此按钮使用DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70,它会产生相同的错误。

有没有办法表明Access使用UPDATE而不是INSERT?

我一直在寻找,但似乎没有找到任何相关的修复。

感谢大家!

编辑:我已经尝试删除链接表上的主键,但错误消失了,但可疑的是,每次移动到不同的记录或单击子表单时,它都会插入重复项。因此,如果有人对记录导航行为以及如何配置它有线索,我将非常感激!

1 个答案:

答案 0 :(得分:0)

如果SQL表上有触发器,它可能是调用INSERT语句而不是前端的触发器。