2009-09-18 130 views
5

我有兩個報表。第一個報告從下拉列表中選擇一個報告類型,並接受日期和時間點擊查看報告 - 列出此報告類型的客戶名稱。將日期作爲參數傳遞給子報表/另一個報表以用作參數

當你點擊customername,第二份報告是所謂的(動作)傳遞3個參數 - customernamedatefrom,並且dateto爲在第二份報告中使用的參數。

當我單獨運行各個報告,都運行良好。當我運行第一份報告時(選擇報告類型,請選擇datefrom/dateto),此報告將列出此報告類型的所有客戶名稱。當我點擊customername時,出現錯誤:

'The value provided for the report parameter 'reportdatefrom' is not valid for its type' (rsReportParameterTypeMismatch)

請幫忙。

回答

1

使用類似的格式(參數!reportdatefrom.Value,「年月日」)來強制值轉換爲規範的字符串將它傳遞給子報表之前。

SSRS有時有問題瓦特/日期時間。 URL可尋址性意味着所有參數值無論如何都會轉換爲字符串,但默認轉換規則可以在組件之間運行。一個組件將生成另一個組件無法讀取的日期時間字面值。通常這是由於非美國的區域設置。

總之,要解決這個問題,只是轉換日期字符串字面量ODBC規範的形式傳遞左右他們面前。

+2

字符串表達式應該是正確的格式:格式(!參數reportdatefrom.Value,「年月日」)(注意了一年,一天小寫)。在我的報告中有類似的問題和下面的表達式:= Format(Parameters!reportdatefrom.Value,「dd/MM/yyyy」) – 2014-09-18 11:15:55

0

它也取決於你如何將網址傳遞到子報告。

如果您是通過子報表對象傳遞給它在你的主報告,並通過URL選項的操作屬性:

enter image description here

我建議你創建的URL字符串,並添加到它的場您需要完成子報表參數要求的參考。

="http://serverXXXX/ReportServer?/FernandoReports/rptTET&rs:Command=Render&rc:toolbar=false&wsTETID=" + Fields!TETID.Value.ToString() 

這樣,你這是在強迫SSRS使整個字段值作爲一個字符串從字段表正確的值。在2ST報告

0

檢查類型參數兩個參數!從和參數!爲了有時間類型,但我不知道你所說的方法2ST報告,但在我的情況下,我對你這樣

右鍵單擊文本框>屬性>選擇在左窗格中的操作>選擇轉到報告選項這樣的形象下面

enter image description here

然後添加參數發送給2ST報告。

確保參數!從和到(均報告)是DateTime類型。

相關問題