Report Parameter validation in ssrs report

2020-04-17 02:44发布

问题:

I have created one SSRS report having begin date and end date. If I provide end date< start date it will execute the report as shown in the image

But that condition I need to show a pop up "Please Check the start date and end date provided". How to do this?

回答1:

Click Report Menu then Report Properties.
Go to Code Tab and add similar code as per your requirement:

Function CheckDateParameters(StartDate as Date, EndDate as Date) as Integer
Dim msg as String
     msg = ""
     If (StartDate > EndDate)  Then
 msg="Start Date should not be later than End Date"
     End If
     If msg <> "" Then 
 MsgBox(msg, 16, "Report Validation")
 Err.Raise(6,Report)                    'Raise an overflow
     End If
End Function

And

Follow the Steps:

1.) Go the Report Parameters and add a parameter with the datatype is string.

2.) Check the Hidden checkbox and Allow blank value ckeckbox.

3.) From Default Values choose Non-Queried radio button and then press the FX button and paste this code.

=CODE.CheckDateParameters(.Value,.Value)

Then press OK.

See reference Link:

Easy Step by Step SSRS Parameter Validation Using Code & Conditional DataSet



回答2:

I'm answering this to chip in another possible solution when working with SQL/Server. If you just want to throw an error then simply amend your query SQL to raise an error on the SQL/Server side by adding something like this to the top of your SQL...

IF @ParEndDate < @ParStartDate
BEGIN
   RAISERROR('Please check the start date and end date provided', 16, 1);
   RETURN;
END;

The query won't run and the error message will be displayed in the report body.