设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1605|回复: 6
打印 上一主题 下一主题

[查询] 高手救火啊 查询问题 IIF函数

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-15 08:29:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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;

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2010-1-15 08:47:16 | 只看该作者
本帖最后由 shitou1ge 于 2010-1-15 09:39 编辑

没人帮忙啊
3#
 楼主| 发表于 2010-1-15 09:43:09 | 只看该作者
4#
发表于 2010-1-15 11:06:39 | 只看该作者
似语句有问题。正确的语句为:iif(逻辑值,逻辑真时的值,逻辑假时的值),
而“a.第一次复审”不是一个逻辑值。
iif(a.第一次复审,"",DateAdd("yyyy",(Int(DateDiff("m",a.取证时间,Date())/24))*2,a.取证时间)) AS 上一次复审,
5#
 楼主| 发表于 2010-1-15 11:37:50 | 只看该作者
是啊 我也在考滤是这个问题
我改成 isnull (a.第一次复审),"" 也是不行
是不是时间值的问题啊 请高手帮帮忙啊
6#
发表于 2010-1-15 11:56:59 | 只看该作者
改为下面这样试试。
之前的错误可能在于你引用了一个不存在的字段“第一次复审”
iif(IIf(DateAdd("yyyy",2,a.取证时间)>Date(),"",DateAdd("yyyy",2,a.取证时间))="","",DateAdd("yyyy",(Int(DateDiff("m",a.取证时间,Date())/24))*2,a.取证时间)) AS 上一次复审,
7#
发表于 2010-1-15 12:02:43 | 只看该作者
应该发实例库上来,才好解决
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-18 14:29 , Processed in 0.089053 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表