2014-12-02 57 views
0

我有一個表格,其格式如下20141230 yyyyMMdd 不是每個日期都填滿了,並且想顯示其他消息,然後#error當我將int爲datetimeIIF更改表中字段的值

=IIF(Fields!LMEXPI.Value = "" OR IsNothing(Fields!LMEXPI.Value), "NoDate", "")

在真實的部分,我想添加此代碼

=new DateTime(Fields!LMEXPI.Value/10000, (Fields!LMEXPI.Value/100) mod 100, Fields!LMEXPI.Value mod 100)

在第一個例子它改變是空與日期「野點」,但是當我第二個代碼塊添加到IIF表達它完全地關閉,並在每行顯示#ERROR

回答

2

你需要爲int轉換爲字符串,以獲得第一狀態時不丟#errors,那麼你應該能夠使用DateSerial構建與邏輯日期:

=IIF(CStr(Fields!LMEXPI.Value) = "" OR IsNothing(Fields!LMEXPI.Value), "NoDate", DateSerial(Fields!LMEXPI.Value/10000, (Fields!LMEXPI.Value/100) Mod 100, Fields!LMEXPI.Value Mod 100)) 
+0

這就是它thnx – 2014-12-03 09:08:32

0

不能使用新的內聯到instanstiate一個值

=IIF(Fields!LMEXPI.Value = "" OR IsNothing(Fields!LMEXPI.Value), "NoDate", DateValue(MEXPI.Value)) 

我可以「T檢驗此深表歉意

+0

我用它,它不工作列中的每個字段是#error,我想我必須繼續尋找 – 2014-12-02 15:58:54

+1

@LodeVlaeminck:DateSerial的另一個答案是我去的 – gbn 2014-12-03 13:00:00