我需要一个显示日期的灵活表格。灵活的,我的意思是,如果我放在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])));
有人可以向我指出我做错了什么吗?谢谢。
根据要求,以下是问题的快照:
创建的表未显示第五条记录。难住了。
答案 0 :(得分:1)
考虑删除WHERE
子句,因为您不需要过滤记录。由于您打算评估IIF()
表达式,请将其放在SELECT
子句中:
SELECT IIf([ageLimit]<=100, Date()-365*[ageLimit], [ageLimit]) As [age_Limit]
INTO tbl_allAges
FROM tbl_ageLimit