Reporting services 尝试在SSR中添加毫秒时出错

Reporting services 尝试在SSR中添加毫秒时出错,reporting-services,parameters,Reporting Services,Parameters,因此,我的报告中有一个enddate参数,在默认值下有以下代码,以获取上个月的最后一天 =DateAdd("d", -1, DateSerial(Year(Now()), Month(Now()), 1)) 这工作正常,返回04-30-2016。这很好,但当我在SSRS中使用订阅时,它的datetime字段为:04-30-2016 12:00:00 AM。因此,我尝试对我的代码执行以下操作,以使其缩短三毫秒: =DateAdd("ms", -3,DateAdd("d", 0, DateSeri

因此,我的报告中有一个enddate参数,在默认值下有以下代码,以获取上个月的最后一天

=DateAdd("d", -1, DateSerial(Year(Now()), Month(Now()), 1))
这工作正常,返回
04-30-2016
。这很好,但当我在SSRS中使用订阅时,它的datetime字段为:
04-30-2016 12:00:00 AM
。因此,我尝试对我的代码执行以下操作,以使其缩短三毫秒:

=DateAdd("ms", -3,DateAdd("d", 0, DateSerial(Year(Now()), Month(Now()), 1)))
当我尝试运行报告时,出现以下错误:

报表参数“enddate”的DefaultValue表达式包含错误:参数“Interval”不是有效值。(rsRuntimeErrorInExpression)


如何修复此错误并使报表正常运行?

在这种情况下,
addmillizes
功能将适用于您

=DateAdd("d",-1,DateSerial(Now.Year,Now.Month, 1)).AddMilliseconds(-3)
这将为您提供上个月的最后一天减去三毫秒的时间


如果有帮助,请告诉我。

成功了,谢谢。我实际上是在寻找当前月份的第一天减去三毫秒后的月份结束时间,所以我把第一天的-1改为0,效果很好。