2010-11-29 92 views
0

...所以我的sql視圖返回nvarchar'123456'或'JAN 11 2008 12:00 AM'(視圖在兩個表上執行聯合並將日期轉換爲nvarchar)。Reporting Services 2005 - 條件日期格式化不起作用

我試圖運用一些有條件的日期格式即我想通過檢查「類型」列格式化日期:

=IIf(Fields!Type.Value = "COS", Fields!CosNoOrDateToContractor.Value, FormatDateTime (Fields!CosNoOrDateToContractor.Value, vbShortDate)) 

所以基本上如果類型是「COS」然後就回數據原樣,否則將其格式化爲日期。

當預覽報告,如果它是一個COS然後我在文本框中獲取#錯誤(從字符串轉換「123456」輸入「日期」是無效的。

這是其他任何東西,然後數據被格式化爲日期。

這是否有道理?

什麼毛病語法或者是什麼,我試圖做不可能的?

alt text

+0

看起來像它試圖格式化數據到DateTime評估表達式之前...從哪裏去? – empo 2010-11-29 17:17:05

回答

0

修改了視圖,所以我沒有將日期轉換爲nvarchar。

0

我的猜測是你在文本框「格式」字段中有一些格式

否則,你有一個數字,當你期望一個日期。

嘗試添加則IsDate()檢查過,以除去非日期

=IIf(Fields!Type.Value <> "COS" AND IsDate(Fields!CosNoOrDateToContractor.Value) 
    , FormatDateTime (Fields!CosNoOrDateToContractor.Value, vbShortDate) 
     , Fields!CosNoOrDateToContractor.Value) 

編輯:

在數據集中,數據類型是什麼它說的嗎?

+0

我可以在文本框的Format屬性中看到格式。 – empo 2010-11-29 16:04:28

相關問題