2016-05-12 25 views
0

因此,我的報告中有一個enddate參數,並且在「默認值」下有以下代碼,以使我獲得上個月的最後一天。在SSRS中嘗試使用DATEADD毫秒時出錯

=DateAdd("d", -1, DateSerial(Year(Now()), Month(Now()), 1)) 

這工作正常,返回04-30-2016。這很好,很花哨,但是當我使用SSRS中的訂閱部分時,它的日期時間字段爲:04-30-2016 12:00:00 AM。於是,我試着做下面我的代碼把它剃掉三毫秒:

=DateAdd("ms", -3,DateAdd("d", 0, DateSerial(Year(Now()), Month(Now()), 1))) 

當我嘗試運行我的報告,我得到以下錯誤:

The DefaultValue expression for the report parameter "enddate" contains an error: Argument 'Interval' is not a valid value. (rsRuntimeErrorInExpression)

如何解決這個錯誤並讓我的報告按原樣運行?

回答

1

在這種情況下,AddMilliseconds函數將適用於您。

=DateAdd("d",-1,DateSerial(Now.Year,Now.Month, 1)).AddMilliseconds(-3) 

這給你上一個月的最後一天減去三毫秒。

讓我知道這是否有幫助。

+0

這樣做的伎倆,謝謝。實際上,我正在尋找當前月份的第一天減去三毫秒來讓我月末,所以我剛剛將-1改爲0,它工作正常。 – mslhrt