如何在Access中使用子表单时编辑现有记录而不创建新记录?

问题描述 投票:1回答:1

我有一个访问数据库,可以保存医疗信息。它包含了相当多的信息,因此我将字段组合成各个表并使用公共主键链接它们。我创建了一个标签样式表单,每个选项卡上都有子表单。

其中一些子表单只包含一个表中的字段,但是有一些子表单我在其中包含了多个表中的字段。

例如,我有一个保存输血数据的表格和一个保存患者特征的表格。输血表和患者特征表中的一些字段在同一子表单中,但我在其他子表单中也有来自这两个表的字段。

当我尝试使用多个表中的字段将数据插入子表单时,我得到以下错误..

更新或取消更新,无需添加或编辑

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

从研究问题我收集这是因为访问正在尝试为两个表创建一个新记录,但如果已经使用该主键创建了一条记录(从将数据插入到以前的子表单中),它将不会编辑现有记录。

有没有人知道如何在此实例中访问编辑现有记录而不是尝试添加新记录?我有VBA的基本技能,但这有点超过我的经验水平。

任何建议将不胜感激。

vba ms-access database-design access-vba
1个回答
0
投票

我使用了一个关于拆分表格的长时间反应,但我正在努力工作。所以这是我使用子表单的新的和改进的答案。

如果你想为你的目的https://support.office.com/en-us/article/Create-a-form-that-contains-a-subform-a-one-to-many-form-ddf3822f-8aba-49cb-831a-1e74d6f5f06b刷新,这里有一个子表单信息的链接

步骤1确保您的主表单绑定到正确的表。为了我的目的,我在我的主表单上使用了一个组合框来搜索。确保组合框中的所有字段参数都正确无误。这包括确保行源正确并且您没有输入控制源。

步骤2在组合框中进行选择后,请勿按Enter键。为了防止人们进入,我在底部创建了一个虚拟按钮,上面写着“保存并刷新”,但它创建了一个消息窗口,弹出“保存成功”。我发现击中输入会产生你不断得到的第一个错误。我不知道如何以更复杂的方式解决这个问题。

还有其他的东西,我稍后会补充。

© www.soinside.com 2019 - 2024. All rights reserved.