in

ASP.NET Weblogs

Gregory Rubinstein

Passing Parameter to Crystal Report

Recently, I was developing a pretty sophisticated Crystal Report that included multiple sub-reports and used multiple stored procedures as data sources. All of those stored procedures accepted the same parameter, which made my life a little easier, since I only had to deal with one parameter that I needed to pass to my Crystal Report.

In order for all sub-reports to be able to recognize the parameter, which I am passing to the main report, I had to link all of my sub-reports to the main report using that parameter.

In order to link a sub-report to the main report, the following actions should be performed:

To link a subreport to the data in the primary report

  1. If you are creating a new subreport or importing an existing report as a subreport, from the Insert menu, click Subreport. Choose or create a report and click the Link tab.

    - or -

    If you have already placed a subreport in the primary report, but did not create a link at setup, navigate to the Subreport Links dialog box by choosing Subreport Links from the Edit menu.

    The Subreport Links dialog box appears.

  2. Choose the subreport you want to link from the For subreport list (if it is not already selected).
  3. Select the field you want used as a link field in the primary (containing) report from the Available Fields list.
  4. Click the > arrow.

    The field is added to the "Field(s) to link to" list box, and is now selected as a link field.

  5. Repeat steps 3 and 4 for each additional link, as desired.
  6. Use the Field link section (which will only appear if you have selected a link field) to set up the link for each link field:
    • Select the field you want linked to the primary report from the "Subreport parameter field to use."
    • Select the "Select data in subreport based on field" check box on and select a field from the adjacent drop-down list to organize the subreport data based on a specific field (this is the quick equivalent of using the Select Expert). If nothing is specified here, the subreport will adopt the organization of the primary report.
  7. Click OK.

When you run the report, the program will coordinate the data in the primary report with the data in the subreport.

Below is the code that I used to pass my parameter to the Crystal Report and then display it in PDF format to the end-user:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
GenerateReport(Session("EmpId"))
End Sub

Private Sub GenerateReport(ByVal EmpId As Integer)
Dim theReport As New ReportDocument
theReport.FileName = "C:\myProject\Reports\myReport.rpt"
theReport.SetDatabaseLogon(PCON.APP.UserName, PCON.APP.Pass, PCON.APP.db_Server, PCON.APP.dbName)

'Set the required parameter for Crystal Report
theReport.SetParameterValue("@Id", EmpId)

'Now, present report in PDF format
theReport.ExportToHttpResponse ( ExportFormatType.PortableDocFormat, Response, False, "ExportedReport")
End Sub

Comments

 

funny wallpaper » Passing Parameter to Crystal Report said:

Pingback from  funny wallpaper » Passing Parameter to Crystal Report

August 14, 2008 12:38 PM
 

carnewsservice.info » Passing Parameter to Crystal Report said:

Pingback from  carnewsservice.info » Passing Parameter to Crystal Report

August 14, 2008 1:38 PM
 

Omkar said:

Hey Gregory!

Thank You for the awesome piece of code unlike all others urs is simple & precise.

thanks

November 19, 2008 5:32 AM
 

dani said:

Hai Gregory

why I Allways Get Error

Operation illegal on linked parameter.

Please Help......

thanks

November 29, 2008 9:16 PM
 

Sunitha Sriram said:

Thanks, Your post was very helpful.

February 17, 2009 11:33 AM
 

smitha said:

Hi ,

i also have the similar scenario where in i have one main report and 4 sub report .All the sub reports are linked to the main report via Parameter filed.

I tried using the code of your's but i am getting the Error as "Log on Failed".

Could you please tell me what should i do?

The same code is working without Sub report.

March 10, 2009 6:21 AM
 

Hafiz said:

I' ve tried to used sub reports link parameter ..... but got some problem .... all of the sub report parameter dose not appear in primary report .... its that a bugs or what ?

October 11, 2009 11:31 PM

Leave a Comment

(required)  
(optional)
(required)  
Add