本文介绍了将每个ID的多个记录转换为具有多个列的单个ID记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

早上好,


我看到其他帖子的问题与我的相似,但我还没有找到有效的解决方案。我怀疑可能没有解决方案,但我很难相信它。我提前为帖子的长度道歉,但我希望尽可能多地包含细节。我目前正在使用Access 2003和Excel 2003(将在6月升级到2010年)。


我有一个包含多个表的数据库,这些表被组合起来生成一个包含20个人的列表每周都会发一份调查问卷。由于我们在选择参与者方面的要求,它相当复杂,但我已经设法让大多数工作都能正常运行。这就是困境......


一张表包含人口统计信息(身份证,姓名,年龄,性别,地点等)。该表包含每人一条记录。另一张表包含一个人正在服用的药物清单。此表最多可包含每人50条记录。药物表包含多个列,但我有一个查询结合了一些列(品牌名称,通用名称,剂量)。所以我正在使用具有ID和药物(每人多个记录)的查询以及具有人口统计信息的表(每人一个记录)。我想要做的是组合单个记录表和多记录查询,以便药物水平列在与人口统计信息相同的行上。我需要上传到我们的其他系统以发送调查的最终列表必须在一行上显示人口统计信息和所有药物。请看下面的例子。


人口统计资料:

身份证号码 - 姓名 - 年龄 - 地下

453546 - 约翰 - 54 - M

649241 - Mary - 37 - F

649726 - Jason- 48 - M


药物:

身份证号码 - 药物

453546 - Tylenol

453546 - 布洛芬

453546 - 多种维生素

649241 - 布洛芬

649241 - Tylenol

649726 - 阿司匹林

649726 - 沙丁胺醇

649726 - 多种维生素


预期成果:

身份证号码 - 姓名-Age -M / F -Med 1 -Med 2 -Med 3

453546 -John -54 -M -Tylenol -Ibuprofen -Multivitamin

649241 -Mary -37 -F -Ibuprofen -Tylenol

649726 -Jason -48 -M -Aspirin - 沙丁胺醇 - 多种维生素


我正在寻找一种分组和转置药物清单的方法,使它们看起来像这样:

ID No. -Med 1 -Med 2 -Med 3

453546 -Tylenol -Ibuprofen -Multivitamin

649241 -Ibuprofen -Tylenol

649726 -Aspirin -Albuterol -Multivitamin


然后很容易将一对一与人口统计表结合起来。交叉表查询不起作用,因为它要求我对某些内容进行求和或计数,而我只是尝试重新排列存在的数据;没有什么可以计算或总结的。转置模块不起作用,因为它还转换了ID号,这些号码没有任何帮助。我无法控制数据的来源,因为它来自另一个更大的数据库。我只能按原样下载报告并粘贴或导入到Access中。


我现在的流程是使用Access来运行查询,为我提供列表20人和相关的人口统计数据。另一个查询为同一个20人提供药物清单。我将两个查询的结果粘贴到已经设置了公式的Excel电子表格中,Excel将所有内容组合成一个包含20行的报表。必须针对多个位置重复此过程。作为具有某种技术能力的人,我不是真的有这样做的问题,但目标是dummify。这个过程让任何人都可以做到这一点,即使他们缺乏更先进的计算机技能。我真的想找到一种方法来使整个过程更加自动化。


有什么建议吗?


如果您需要更多信息或说明,请与我们联系。


谢谢,

Jennifer


PS我认为我的Access技能是中级的。我可以创建一个功能数据库,但有很多对我来说还是新的。我正在学习VBA和SQL,主要是通过搜索和复制/粘贴代码并将其调整为我需要的。

解决方案






这篇关于将每个ID的多个记录转换为具有多个列的单个ID记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-29 13:42