如何在 Microsoft Access 表单上计算年龄? [复制]
Posted
技术标签:
【中文标题】如何在 Microsoft Access 表单上计算年龄? [复制]【英文标题】:How to calculate age on a Microsoft Access form? [duplicate] 【发布时间】:2015-01-23 18:41:41 【问题描述】:在我为医院的患者数据创建的 Microsoft Access 表单上,我想使用字段 DATE OF BIRTH 和字段 DATE OF FORM(当前日期)来计算三个字段
年龄(岁) 年龄(月)和 年龄(天)。只给了两个日期就可以做到这一点吗?
【问题讨论】:
是的,有可能。不,我们不会为您完成所有工作。做一些研究。做一些尝试。回来就具体问题提出具体问题。 @KevenDenen:我希望是这样。不幸的是,太多的人愿意为了几个支持而出卖自己的灵魂。 【参考方案1】:是的,这两个日期足以计算年龄。因此,您可以在 Age 文本框的 Expression builder 中使用 DateDiff 函数。
下面,我假设 Age(yr) 用年表示年龄,Age(mo) 用月表示年龄,Age(days) 用天表示年龄。
在 Age(yr) 文本框的控件源中使用:
=DateDiff("yyyy",[DateOfBirth],Date())
年龄(月):
=DateDiff("m",[DateOfBirth],Date())
年龄(天):
=DateDiff("d",[DateOfBirth],Date())
【讨论】:
这种方法可能会为“Year”和“Month”值产生不正确的结果,因为DateDiff()
函数的行为与您想象的不同。对于DateOfBirth=#2014-12-31#
和DateToday=#2015-01-01#
,婴儿只有一天大,但DateDiff("yyyy",DateOfBirth,DateToday)
返回1
(因为这两个日期在不同的年份)。
感谢 Gord,你的观点很好。因此,如果将等式除以 365,Age(days) DateDiff 公式可能是更准确的年龄函数。我们的婴儿示例将分别为 0.065 和 0.063 岁。最初,我将 Age(mos) 除以 12,Age(days) 除以 365,因为我们通常以年为单位来衡量 Age,但 KevenDenen 已将其删除。我不确定SO的规则。我确实希望 OP 能够回应并指出他/她的具体需求。
如果您认为您对问题的理解是他们想要所有三个人的年龄,请随时重新编辑这些内容。我假设当他们说他们想要以天为单位的年龄时,他们的意思是他们有多少天,而不是他们的年龄,以他们的年龄为单位计算。这就是回答这样一个蹩脚的问题的问题。 OP 没有发布足够的信息来获得一个体面的答案。以上是关于如何在 Microsoft Access 表单上计算年龄? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何将表单绑定到 Microsoft Access 中的 SQL 语句
如何在 Microsoft Access 中创建/更新具有复杂表关系的表单中的记录集
Microsoft Access 如何检索当前表单 ID 以进行打印
如何根据 Microsoft Access 中的组合框选择导航到表单