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?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
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.
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
mlmcc
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.
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
It should be something like
WhilePrintingRecords;
Shared NumberVar EmpID;
EmpID
mlmcc
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?
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
mlmcc
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?
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
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
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
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
I don't think you can do that.
mlmcc
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
What type is the parameter?
mlmcc
ASKER
Yes, the shared variable is a parameter to the subreport stored procedure.
The type is integer.
The type is integer.
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.