2010-07-02 122 views
0

我试图让这个代码在报告服务2003年工作报告服务使用switch语句:在日期字段

=switch(
    DateDiff("d", fields!WARRANTY_EXP!value,now()) > 765, "White", 
    DateDiff("d", fields!WARRANTY_EXP!value,now()) > 365, "Yellow", 
    DateDiff("d", fields!WARRANTY_EXP!value,now()) > 0, "Red", 
    DateDiff("d", fields!WARRANTY_EXP!value,now()) < 0, "Gray" 
    ) 

我想编写一个字段,以便如果日期栏是过去它会将背景颜色变为灰色,如果它将在下一年再变红,并在未来1 - 2年内变黄。一切都是白色的。

我试图重新安排,但编码一定是错误的地方为大于2年代是灰色的,在过去的日期是黄色和明年是红色:-S

非常感谢,

皮尔斯

回答

1

我想你可能只是有你的大于和小于标志错误的方式,或你现在()和字段表达错误的方式。取而代之的

DateDiff("d", fields!WARRANTY_EXP!value,now()) > 0, "Red", 

尝试

DateDiff("d",now(), fields!WARRANTY_EXP!value) > 0, "Red", 

# 从联机帮助中的例子: - 测试ImportantDate字段的值,并返回“红”,如果它比一个更周龄,否则为“蓝色”。此表达式可用于控制报表项中文本框的颜色属性: 复制

= IIF(DateDiff(“d”,Fields!ImportantDate.Value,Now())> 7,“红色” ,“蓝色”)

+0

谢谢SPE109,使用你的建议,它的工作完美。非常感谢,皮尔斯 – Pierce 2010-07-05 08:02:47