SQL计算列无法识别DateDiff日间隔,弹出参数输入框求助
Access SQL计算列DateDiff间隔符被识别为参数的解决办法
你的问题出在DateDiff的间隔参数写法错误:Access SQL里方括号[]是用来引用字段或参数的,你用["d"]会让系统把d当成需要输入的参数,所以每次运行都会弹出输入框。
原公式:
ExceedsTime: (IIf(IsNull([CloseOutDate]) And (DateDiff(["d"],[SurveyDate],Now())>45),1,0))
修正后的公式
把间隔符d用单引号或双引号包裹(不要用方括号),以下两种写法都有效:
-- 单引号写法 ExceedsTime: (IIf(IsNull([CloseOutDate]) And (DateDiff('d', [SurveyDate], Now()) > 45), 1, 0))
-- 双引号写法(适用于Access查询设计器直接编辑) ExceedsTime: (IIf(IsNull([CloseOutDate]) And (DateDiff("d", [SurveyDate], Now()) > 45), 1, 0))
逻辑验证
这个修正后的公式完全匹配你的需求:
- 当
CloseOutDate为空(调查未完成),且当前时间与SurveyDate的间隔超过45天,返回1 - 其他情况(调查已完成,或未完成但仍在45天期限内)返回
0
内容的提问来源于stack exchange,提问作者Melissa Hersh
相关产品推荐
相关产品推荐

