【发布时间】:2014-09-29 19:26:32
【问题描述】:
我正在编辑一个数据库模板,以便跟踪同一个人的不同年龄患者测试的差异。
我对“学生数据库”模板进行了改造,以利用已经创建的表格和宏。
我有一个患者表,用于存储初始摄入时收集的所有数据:姓名、出生日期 (DOB) 等,还有一个用于跟踪访问中的测试分数的第二个表,其中包括:姓名、访问日期 (DOV)和分数信息。这些是配对的,因此我可以从一位患者那里提取信息并查看他们在访问中的得分。
我现在需要做的是创建一个查询,我可以在其中计算他们参加测试时的年龄。
为此,我使用了表达式生成器并输入了Calculated:([Visit Date]-[DOB])/365
这适用于计算年龄仅当我在患者就诊表的新列中重新输入 DOB 时
我尝试使用DateDiff 和[Patient]![DOB] 从另一个表中调用数据,但我得到了同样的错误。
(Calculated age: ([Patient Visit]![Visit Date]-[Patients]![DOB])/365)
Calculated age: (DateDiff("yyyy",[Patients]![DOB],[Patient Visit]![Visit Date]))
两者都吐出错误:Enter Parameter Value 'Patients!DOB'
如果我输入一个日期,所有数据点和患者都会计算出与我输入的 DOB 相同。
如何让 Access 知道我需要它来计算同一患者的 DOB 就诊日期?
?:我是否需要为患者 ID 创建一个查找表以与 DOB 匹配,然后使用该字段进行计算?
如果我可以修复的表达式有问题,那将是理想的。如果不是,那么在不必多次手动输入患者 DOB 的情况下计算就诊年龄的最佳方法是什么(在初始摄取时输入一次,每次就诊时再输入一次)。
提前谢谢你。
【问题讨论】:
标签: database expression builder