用表格录入2个相关表的数据,自动将外键输入到主表中

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

在 MS Access 中工作。

我正在开发一个客户忠诚度数据库,我有 2 个表:

客户

名字 入场 创建_日期 到期日期 联系人 ID
约翰·史密斯 成人 2024年1月2日 2025年1月2日 1

联系方式

身份证 手机 电子邮件 地址
1 0400 123 456 [电子邮件受保护] 约翰街 12 号,糖果乐园 1234

在某些情况下,多个客户会具有相同的联系信息。因此,为什么我将数据分成 2 个相关的表。

我正在尝试创建一个表单以便将新客户输入数据库。 它将需要包含两个表中的所有字段,并且每次使用新的联系信息输入新客户时,我希望新联系信息的新主键自动链接并输入到“联系 ID”中我的“客户”数据库中的字段。

我尝试过(不成功)在绑定的主表单上包含

Contact
详细信息,在子表单上包含
Customers
详细信息。我希望能够构建一个宏,按下按钮即可将联系人详细信息的主键(“ID”)复制到子表单中的“Contact_ID”字段中。

主窗体(绑定到

Contact
)称为“New”。

子表单(绑定到

Customers
)称为“sub_info

我尝试过 SetProperty 宏:

Control Name: = [Forms]![New]![sub_info].[Form]![sub_Contact_ID]
Property: Value
Value: =[Forms]![New]![ID_Contact]

我还尝试了带有多个 SQL INSERT 查询的未绑定表单。 我尝试先

INSERT
Contact
信息,然后执行
SELECT
MAX(ID)
查找
Contact
并将其返回到文本框,然后使用以下命令在
INSERT
上执行另一个
Customers
从文本框中返回 ID。

问题是在宏生成器中运行查询,这不断向我抛出错误。

我想知道我是否错误地引用了子表单上的对象,或者这是否不起作用/不是正确的方法。 或者是否有更简单的方法来自动连接数据

非常感谢任何帮助或建议!!

sql ms-access subform
1个回答
0
投票

我找到了一个比我想要做的更简单的解决方案。 我制作了一个新表单,其中所有绑定控件都位于一个表单上,并使用“ID”控件上的 AfterUpdate 事件将 ID 复制到“Control_ID”控件中。

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