我正在尝试将此代码用于报告服务2003:
=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
非常感谢,
皮尔斯
答案 0 :(得分:1)
我认为你可能只是让你的大于或小于错误的方式,或者你的now()和字段表达方式错误。
而不是
DateDiff("d", fields!WARRANTY_EXP!value,now()) > 0, "Red",
尝试
DateDiff("d",now(), fields!WARRANTY_EXP!value) > 0, "Red",
# 在线帮助中的示例: - 测试ImportantDate字段的值,如果超过一周,则返回“Red”,否则返回“Blue”。此表达式可用于控制报表项中文本框的Color属性: 复制
= IIF(DateDiff(“d”,Fields!ImportantDate.Value,Now())&gt; 7,“Red”,“Blue”)