Database 基于Access中相同表中的相似记录更新非连续记录
我正在寻求有关如何解决问题的帮助,而不是代码解决方案。我是一名军队儿科医生,正在尝试制作一个Access desktop DB/应用程序,该应用程序可以方便地识别有特殊需求但未注册到特殊需求计划的患者,然后自动完成注册这些患者的一些繁重工作 我有2张Excel电子表格,上面有患者数据。一个是我所有病人的名单,另一个是已经登记的有特殊需要的病人名单。我对导出的内容没有任何控制权,因此我们必须处理我们得到的内容: 所有病人:Database 基于Access中相同表中的相似记录更新非连续记录,database,ms-access,merge,fill,Database,Ms Access,Merge,Fill,我正在寻求有关如何解决问题的帮助,而不是代码解决方案。我是一名军队儿科医生,正在尝试制作一个Access desktop DB/应用程序,该应用程序可以方便地识别有特殊需求但未注册到特殊需求计划的患者,然后自动完成注册这些患者的一些繁重工作 我有2张Excel电子表格,上面有患者数据。一个是我所有病人的名单,另一个是已经登记的有特殊需要的病人名单。我对导出的内容没有任何控制权,因此我们必须处理我们得到的内容: 所有病人: 患者姓名(“最后,第一个M”)(字符串) 初始最后4个(“A4873”-
- 患者姓名(“最后,第一个M”)(字符串)
- 初始最后4个(“A4873”-姓的第一个字母,赞助商SSN的最后4个字母)(字符串)
- 家庭电话(字符串)
- 年龄(整数)
- DOB(日期)
- 性别(男/女)(弦乐)
- 现役(是/否)(字符串)
- 提供者(字符串)
- 地址(字符串)
- 名字(字符串)
- 姓氏(字符串)
- 中间首字母(字符串)
- 赞助商SSN(仅当角色=赞助商时)(字符串)
- 角色(担保人、配偶或子女)(字符串)
LastName FirstName SSSN Role
---------------------------------------------
Jones Mother Spouse
Jones Daughter Child
Jones Father 555-55-5555 Sponsor
Jones Son 1 Child
Jones Son 2 Child
为了将赞助商SSN用作密钥的一部分,必须为其他家庭成员填写。我找到的所有“填充缺少的数据”教程都谈到了一种填充方法,其中数据是连续的,这在这里不起作用-主办方的顺序与家庭其他成员不同。也不能保证赞助人的姓氏是孩子,但是如果没有其他的关键想法,数据丢失的频率很低,而且是可以接受的
我假设这里的解决方案是通过一些循环或查询的组合,用VBA以编程方式填充它,但我不知道如何以有效的方式处理它。一个选项是按姓氏排序,存储该姓氏,循环并将每个具有该姓氏的记录添加到临时记录集中,循环以标识发起人SSN,然后再次循环以将数据添加到缺少它的记录中。这危险地取决于从来没有多个姓氏相同的家庭-例如,它无法区分姓氏为Brown的两个家庭,并且会不加区分地分配SSN
另一种选择是查询具有SSN的所有记录的特殊需求,然后进行某种更新查询,该查询将匹配姓氏并填充SSN,具有上述相同的姓氏识别问题
结论:如果我能够可靠地组合这些数据源(以可重复、简单的方式),那么应用程序的其余部分就很简单(基本上是单击一个按钮,然后向特殊需求协调员发送一封包含此人信息的电子邮件)。如果唯一的解决方案是劳动密集型的,那么我们在当前的工作流程中没有获得太多好处(手动扫描患者名单,查看他们是否在名单上,如果不在,则向协调员发送电子邮件)
同样,尽管欢迎直接解决方案,但最有用的帮助是如何解决这个问题。如果你能提供任何帮助,我将不胜感激 是的,但它们是非唯一值。一个家庭中的每个人都有相同的InitLast4(因为他们有相同的姓氏,每个家庭只有一个赞助商SSN)。直接目标是为所有患者提供一个单独的表格,并添加一个字段(例如“登记在特殊需要中”)。如果患者列在特殊需求数据源中,则他们已经登记。特殊需求来源由患者组织;制作文件的人只将赞助商SSN放在赞助商上,而不是所有家庭成员上,因此我想将该SSN传播给家庭成员。InitLast4开始发挥作用,因为发起人SSN的最后4位数字和名称是导入数据的唯一共同点。由于发起人在数据中的位置不同,我不能假设使用发起人SSN到达记录“启动”了一个系列部分-之前和之后的记录都可能是该系列的一部分,因此导航变得混乱。与其设置有特殊需要的家庭成员的SSN,不如为每个家庭设置一个唯一的ID。通过这种方式,您可以将尽可能多的特殊需要成员绑定到家庭ID,并将更多家庭成员附加到家庭ID。但是,这意味着,对于每个新患者,您必须询问他们是否有任何家庭成员已经在系统中。不管他们是否同意