我有一個日期和時間(只有一小時和幾分鐘)參數是分開的報告。 Date參數的類型爲Date/Time,Time參數設置爲Text。我想將這兩個值合併爲一個,因爲我想將最少數量的參數傳遞給存儲過程。我試圖在很多方面實現這一目標,但SSRS爲每一次嘗試都返回一個錯誤。如何將單獨的日期和時間參數轉換爲有效的日期時間?
如果我嘗試使用表達式如下:
=Format(FormatDateTime(Parameters!startDate.Value, DateFormat.ShortDate).ToString() + Parameters!startTime.Value, "dd/MM/yyyy HH:mm")
SSRS返回此錯誤:
Error conterting data type nvarchar to datetime.
,當我試圖用Datetime.Parse
這樣的:
=DateTime.Parse(Format(FormatDateTime(Parameters!startDate.Value, DateFormat.ShortDate).ToString() + Parameters!startTime.Value, "dd/MM/yyyy HH:mm"))
SSRS說:
The Value expression for the query parameter '@startDate' contains an error: The string was not recognized as a valid DateTime. There is a unknown word starting at index 0.
當我刪除了FormatDateTime
功能我得到另一個錯誤:
The Value expression for the query parameter '@startDate' contains an error: Input string was not in a correct format.
你有任何想法如何正確地寫這個表達式?
PS。我使用SSRS 2008 R2。
這正是我所期待的。它解決了這個問題,現在我的報告很有用,謝謝! – tkestowicz 2013-05-13 13:11:55
嗨伊恩,不幸的是它不可能發送PN,所以這是唯一的方法來問你,你如何管理輸入參數時間與默認格式HH:毫米。這是一個簡單的文本框或日期/時間。 Thx in advanced - Frank – Frank 2013-12-07 23:03:26
嗨,@Frank。在上面的問題/答案中,這只是一個「文本」參數;它只是由運行報告的用戶編寫的。對於OP來說,這似乎已經足夠了。上面的表達式假設爲'HH:mm'格式 - 如果不是那種格式,它只是錯誤。如果您的要求明顯不同,那麼跟進一個新問題可能會更好。 – 2013-12-08 22:42:54