2013-05-28 182 views
1

我有一個使用日期參數的報告(因此必須是SSRS中的日期時間,這很吸引人)。當用戶輸入諸如「5/1」之類的日期時,它會創建一個DateTimeOffset數據類型,我無法找到將其轉換爲其他任何內容,格式化或連接到文本框中。我試圖將日期轉換爲字符串等。我得到的結果是:從日期選擇器中轉換用戶輸入的日期

從'DateTimeOffset'類型轉換爲'String'類型無效。 (「字符串」是由什麼代替我嘗試投它)

當然必須有辦法有一個文本框顯示「從2013年5月1日至2013年5月31日」當用戶在日期字段中輸入「5/1」和「5/31」?微軟是否真的認爲有計算機知識的人想要拿起鼠標來使用日期選擇器而不是使用標籤?

回答

1

試試下面的表達式:

="From " & Format(Parameters!Param1.Value.DateTime, "M/d/yyyy") & " to ..... etc" 

爲了測試這個表情我已經創建了一個新的報告中,增加了一個日期時間參數,並在文本框中輸入「5/1」,按回車鍵。報告談到了以下文本框:

從2013年1月5日至.....等

對於我的語言環境,這是正確的,因爲在進入時的DateTime天假定值在幾個月前來。當查看報告的文本框也將更新,並顯示:

2013年5月1日〇點零零分00秒+01:00

從這個你應該可以推斷,並用它對於第二個參數,擴展表達式以顯示報表中需要的確切字符串。

+0

感謝吉榮:

SELECT field1, field2, Convert(date, @FromDate) [FromDate_param] FROM table 

然後你就可以像SSRS創建表達式。我想我已經嘗試過了,明天btu會再試一次,剛剛出發。問候馬克 – mark1234

+0

不行,恐怕。我沒有注意到.DateTime,直到我嘗試過,但這不是我的BIDS中的可用方法,我只有Equals和ReferenceEquals。我正在使用Vs2008 9.0.30729.4462.QFE – mark1234

1

參數!Param1.Value.DateTime在用戶省略年份時提供幫助,但在用戶決定包括年份時會失效。我無法在兩種情況下都能正常工作。

試試這個。

在結果集中包含日期參數值作爲字段。你的SQL可能類似於:

="From " & Format(First(Fields!FromDate_param.Value), "M/d/yy") 
相關問題