需要日期计算MS Access

时间:2017-02-28 00:50:37

标签: sql ms-access-2010 formula

我需要一个显示日期的灵活表格。灵活的,我的意思是,如果我放在1976年6月15日,它就会显示出来。但是,如果我放20,Access会在与今天相同的字段中计算20个 - 20年。

我在表格中设置日期/时间字段的格式:tbl_ageLimit为#,因此它显示序列日期而不是用户可读日期。该表有一个字段:ageLimit。

我正在尝试开发一个查询来识别日期是否与其当前状态无关,然后将其转换为相关的内容并将其放入另一个将不断更新的表中。

现在,我只是试图让公式来识别和转换日期。这是在excel中出色地运行的公式,但似乎并没有在MS Access中工作:

IIF([ageLimit]<=100,Date()-365*[ageLimit],[ageLimit])

它识别该字段中是否有一个小于100的数字。但它没有进行数学计算并在新表中显示新记录。下面是sql:

SELECT tbl_ageLimit.ageLimit INTO tbl_allAges
FROM tbl_ageLimit
WHERE (((tbl_ageLimit.ageLimit)=IIf([ageLimit]<=100,Date()-365*[ageLimit],[ageLimit])));

有人可以向我指出我做错了什么吗?谢谢。

根据要求,以下是问题的快照:

tbl_ageLimit Time/Date Field formatted as serial date tbl_allAges showing four records instead of five. Where's the fifth record?

创建的表未显示第五条记录。难住了。

1 个答案:

答案 0 :(得分:1)

考虑删除WHERE子句,因为您不需要过滤记录。由于您打算评估IIF()表达式,请将其放在SELECT子句中:

SELECT IIf([ageLimit]<=100, Date()-365*[ageLimit], [ageLimit]) As [age_Limit]
INTO tbl_allAges
FROM tbl_ageLimit