Reporting Service 2000 表达式语句的一点疑惑

最近在学习用Reporting Service 作报表,没想到仅支持VB的表达式 (那位知道其它的表达式,或者有支持语法的帮助文档,那“感谢天,感谢地,感谢……” 给我一份吧)我那个心颤……

想写这么个提示信息:页面输入两个查询参数BeginTime, EndTime 当这两个参数为空值“”时,页面提示当前月的第一天到最后一天,效果:2007年4月1日 至 2007年4月30日,如果输入查询参数则显示输入的时间,使用的表达式:

 IIF(Parameters ! BeginTime.Value  <> "" ,
    Format(DateSerial(Year(Parameters
! BeginTime.Value),Month(Parameters ! BeginTime.Value),Day(Parameters ! BeginTime.Value)), " yyyy年M月d日 " ),
   Format(DateSerial(Year(Globals
! ExecutionTime),Month( Globals ! ExecutionTime ), 1 ) , " yyyy年M月d日 " ) ) 
&   "   至  "   &  
IIF(Parameters
! EndTime.Value  <> "" ,
   Format(DateSerial(Year( Parameters
! EndTime.Value ),Month( Parameters ! EndTime.Value ),Day( Parameters ! EndTime.Value )), " yyyy年M月d日 " ),
   Format(DateSerial(Year(Globals
! ExecutionTime),Month( Globals ! ExecutionTime ) + 1 , 1 - 1 ) , " yyyy年M月d日 " ))

没想到,IIF(expr,truepart,falsepart)居然是不管表达式expr返回的true 还是false 居然都会去计算truepart和falsepart,这样就总会出现空值强制转换的问题,那自然是报错了。

后来一想,能不能用三目运算符,结果一试居然说:表达式里面不能出现“:”,没有“:”的三目运算符没见过当然也不知道怎么用^_^,只好罢了,想想CSDN上潜龙游凤颇多,抛砖引玉 望高人指点,小生先谢过

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值