Question
“How do I display totals calculated inside a subreport in my main report?”
Solution
Delphi:
Update the main report variables directly inside the OnCalc event of a variable inside your subreport.
RAP:
- Declare a global TppVariable from the Module view inside the code workspace (RAP).
- Set the global variable equal to a TppVariable in the main report.
- Update the value of the global variable inside the subreport (similar to Delphi code). This will in turn update the value of the variable placed in the main report.
Download: TotalsFromSubReport.zip
TotalsFromSubReportWithRAP.zip
RunningPageTotalFromSubreport.zip
Sample Delphi code:
procedure TForm1.ppVariable2Calc(Sender: TObject; var Value: Variant);
begin
  //ppVariable1 is located inside the main report.
  ppVariable1.Value := ppVariable1.Value + ppSubReport1.Report.DataPipeline['AmountPaid'];
end;Sample RAP Code:
Global Declarations…
var
  varMainPageTotal: TppVariable;Global Events…
procedure GlobalOnCreate;
begin
  //Variable1 is on the main report.  
  varMainPageTotal := Variable1;
end;Subreport…
procedure SummaryAfterGenerate;
begin
  //This will update Variable1.Value.  
  varMainPageTotal.Value := varMainPageTotal.Value + DBCalc1.Value;
end;