Link to home
Start Free TrialLog in
Avatar of JeffDun
JeffDun

asked on

How would I share a subreport column value with another subreport on the main report?

I would like to share an integer column from a subreport with another subreport on the main report.  Is this possible in Crystal 10?
Avatar of peter57r
peter57r
Flag of United Kingdom of Great Britain and Northern Ireland image

I think we need a bit more explanation of what you are trying to do.
You can add any column from the data source to a report.  If it's not in the data source then you may be able to use a formula field to create the required value.

Subreports and especially their placement might add further considerations to the process.

But we need more detail.
ASKER CERTIFIED SOLUTION
Avatar of Mike McCracken
Mike McCracken

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of JeffDun
JeffDun

ASKER

Sorry, I was referring to one of the fields in my subreport.

Here is what I have:

Main Report
     Subreport 1   in its own section
     Subreport 2   in its own section

I have a field that is being dispalyed in the Subreport 1 that is needed to populate Subreport 2.  Initially, I tried to add Subreport 2 to Subreport 1 but I noticed that functionality was not supported.  So, I added Subreport 2 in its own section on the main report.  I just need to pass the field value from Subreport 1 as the input parameter to Subreport 2.
The method I outlined above will work

mlmcc
Avatar of JeffDun

ASKER

I tried using the formulas below in the Main and Subreport but shared value is not being returned on the Main report.  

Main Report
WhilePrintingRecords;
Shared NumberVar EmpID;
""


Subreport
WhilePrintingRecords;
Shared NumberVar EmpID := {usp_Get_Emp_Rpt;1.Emp_ID};

I placed the shared variable on the main report detail section to see if any value was being returned and nothing was displayed.

Not sure if it makes a difference but subreport1 is in report footer b.  The shared value from subreport 1 is needed in subreport 2 which is in report footer c.  I tried the formula in report footer c and the report header.
What formula did you use in the report footer c?
It should be something like
WhilePrintingRecords;
Shared NumberVar EmpID;
EmpID


mlmcc
Avatar of JeffDun

ASKER

I tried the two below.

WhilePrintingRecords;
Shared NumberVar EmpID;
EmpID := EmpID;


WhilePrintingRecords;
Shared NumberVar EmpID;
EmpID

0.00 is being displayed in report footer c.  The formulas are in formula fields, is that correct?
Does the subreport display anything?

mlmcc
Avatar of JeffDun

ASKER

Yes, the subreport and the main report now display the correct value.  However, the value inside is being displayed with two decimal places(45.00).  The second subreport on the main report is expecting 45 with no decimal places and is still not being displayed.

Also, is there a way to set the subreport parameter equal to the shared variable value?  I right clicked the subreport and clicked "Change subreport links" to set the parameter equal to the shared variable.  When I edit the subreport, I noticed that there are now two parameters.  The parameter that stored procedure is expecting and the shared variable I manually linked.  Is there anyway to remove the stored procedure parameter or set the stored procedure parameter equal to the shared variable value?
WHen you set the link to the subreport you may be able to link to the stored procedure parameter.  Choose it from the list rather than using the one it suggests (?pm-value)

45.00 and 45 are the same unless you are passing it in as a string.

How did you use the shared variable in the second subreport?

mlmcc
Avatar of JeffDun

ASKER

I clicked Change subreport links, used the main report formula for "fields to link to", and used the stored procedure paramater name for "Subreport parameter field to use".  Nothing is being displayed in the report on the main page.  I don't think the formula value is being passed correctly.
I can get the formula value to display in report footer c but its not being passed as a parameter to the subreport
Are you trying to pass the shared variable to the subreport as a parameter?

I don't think you can do that.

mlmcc
Avatar of JeffDun

ASKER

yes.  Is there another way to do this? The first subreport returns an ID that i need to use in the second subreport.
When you say use, does that mean as a parameter to the subreport stored procedure?

What type is the parameter?

mlmcc
Avatar of JeffDun

ASKER

Yes, the shared variable is a parameter to the subreport stored procedure.

The type is integer.