如何从表单访问中将“子”数据导入“父”数据表?

时间:2017-03-14 18:58:12

标签: winforms ms-access access-vba

我致力于追踪公共卫生组织的疾病,我们处理的一个复杂问题是结核病。我已经开发了一个Access数据库,其中包含多个表单和选项卡,可以跟踪任何“Active TB case”(父级)到“Contacts”(子级)。活动性结核病患者可能有20个左右的接触者,但几个月后,任何一个接触者都可能成为活动性结核病例。数据库跟踪接触案例的近60个变量,但我希望这些变量中的一些在成为Active TB案例后添加到父表/表中。

我有两个将要连接的表,一个叫做Contact Info,另一个是Case Info。

联系信息包含将添加到案例信息表中的以下变量:联系人# 旧# MRN 姓 名字 中间名字 DOB 性

案例信息表包含:案例# 旧# MRN 持续 第一 中间 DOB 性

您可以看到联系信息中的变量应如何与案例信息表中的相应变量相关联。

我怎样才能让“孩子”成为“父母”?我想在子记录上添加一个按钮来执行此操作。

提前致谢!我非常感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

只需运行一个追加查询,过滤特定患者,可以从表单控件(即子表单上的指示符)中读取。下面假设 MRN 作为标准。

INSERT INTO [Case Info] ([Case#], [Old#], [MRN], [Last], [First], 
                         [Middle], [DOB], [Sex])
SELECT [Contact#], [Old#], [MRN], [Lastname], [Firstname], 
       [Middlename], [DOB], [Sex]
FROM [Contact Info]
WHERE [MRN] = Forms!myform!txtMRN

附加查询可以是已保存的查询,并使用DoCmd.OpenQuery(相同的宏命令)在表单按钮后面调用,或者在带有DoCmd.RunSQL或DAO的CurrentDb.Execute的VBA中作为操作查询运行,以确保表单value连接到SQL字符串或更好,但作为参数传递。