2010-07-02 168 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