2016-05-12 19 views
0

So habe ich einen Enddatum Parameter in meinem Bericht und ich habe den folgenden Code unter Default Value, um mir den letzten Tag des vorherigen Monats zu erhalten.Fehler beim Versuch, DATEADD Millisekunden in SSRS

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

Dies funktioniert gut, zurück 04-30-2016. Das ist gut und dandy, aber wenn ich das Subskriptionsstück in SSRS verwende, hat es das datetime Feld wie: 04-30-2016 12:00:00 AM. Also versuchte ich folgendes zu meinen Code zu tun, um es drei Millisekunden abrasieren:

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

Wenn ich versuche, meinen Bericht ich folgende Fehlermeldung erhalten auszuführen:

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

Wie behebe ich diesen Fehler und meinen Bericht so laufen lassen, wie er sollte?

Antwort

1

Die Funktion AddMilliseconds funktioniert in diesem Fall für Sie.

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

Dies gibt Ihnen den letzten Tag des vorherigen Monats Subtraktion drei Millisekunden.

Lassen Sie mich wissen, ob dies hilft.

+0

Das hat den Trick, danke. Ich war eigentlich auf der Suche nach dem ersten Tag des aktuellen Monats minus die drei Millisekunden, um mich zum Monatsende zu bekommen, also änderte ich zuerst -1 zu einer 0 und es funktionierte gut. – mslhrt