【发布时间】:2015-11-28 06:44:24
【问题描述】:
您好,我正在 MS Access 中创建一个表来存储学校儿童的详细信息。
我有一个名为 YearGroup 的字段,它需要根据他们的出生日期以及他们是否上调或下调一年来计算他们所在的学年。
即如果表达式认为他们是 6 岁,则应将其放在第 2 年。如果将它们向下或向上移动一年,则应在 1 年或 3 年(这基于表中名为 YearModifier 的另一个字段)。
我现在的代码是这样的:
Year(Now()) - IIf(Month([DOB]) > 8, Year([DOB]) + 6 + [YearModifier], Year([DOB]) + 5 + [YearModifier])
我的问题是Year(Now()) 作为无效表达式返回。许多网站已经使用 Now() 函数识别,我也尝试过 Date() 但 Access 似乎没有接受任何内容(版本是 2010)。
发生了什么事?如何在计算字段表达式中获取今天的日期?
谢谢
【问题讨论】:
-
哦,IIf 是关于他们的生日是在九月之前还是之后,即下一学年的截止点。
-
你在字段的哪个属性中有这个表达式?默认值?
-
由于某种原因,此数据类型没有默认值。这是在“表达式”属性中
-
为了简单一点,真正的问题在于这个错误:表达式 Year(Now()) 不能在计算列中使用。
-
您可以尝试在查询中计算它。一项小研究表明,日期函数不能用于计算列(例如social.msdn.microsoft.com/Forums/office/en-US/…)。
标签: date ms-access ms-access-2010