Office中国论坛/Access中国论坛

标题: 高手救火啊 查询问题 IIF函数 [打印本页]

作者: shitou1ge    时间: 2010-1-15 08:29
标题: 高手救火啊 查询问题 IIF函数
SELECT a.取证时间, IIf(DateAdd("yyyy",2,a.取证时间)>Date(),"",DateAdd("yyyy",2,a.取证时间)) AS 第一次复审,

iif(a.第一次复审,"",DateAdd("yyyy",(Int(DateDiff("m",a.取证时间,Date())/24))*2,a.取证时间)) AS 上一次复审,

IIf(a.上一次复审,DateAdd("yyyy",2,a.取证时间),DateAdd("yyyy",Int(DateDiff("m",a.取证时间,Date())/24)*2+2,a.取证时间)) AS 下一次复审
FROM 表1 AS a;
作者: shitou1ge    时间: 2010-1-15 08:47
本帖最后由 shitou1ge 于 2010-1-15 09:39 编辑

没人帮忙啊
作者: shitou1ge    时间: 2010-1-15 09:43

作者: kangking    时间: 2010-1-15 11:06
似语句有问题。正确的语句为:iif(逻辑值,逻辑真时的值,逻辑假时的值),
而“a.第一次复审”不是一个逻辑值。
iif(a.第一次复审,"",DateAdd("yyyy",(Int(DateDiff("m",a.取证时间,Date())/24))*2,a.取证时间)) AS 上一次复审,
作者: shitou1ge    时间: 2010-1-15 11:37
是啊 我也在考滤是这个问题
我改成 isnull (a.第一次复审),"" 也是不行
是不是时间值的问题啊 请高手帮帮忙啊
作者: kangking    时间: 2010-1-15 11:56
改为下面这样试试。
之前的错误可能在于你引用了一个不存在的字段“第一次复审”
iif(IIf(DateAdd("yyyy",2,a.取证时间)>Date(),"",DateAdd("yyyy",2,a.取证时间))="","",DateAdd("yyyy",(Int(DateDiff("m",a.取证时间,Date())/24))*2,a.取证时间)) AS 上一次复审,
作者: aslxt    时间: 2010-1-15 12:02
应该发实例库上来,才好解决




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3