Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Fastreport 4. zwei Report kombinieren (https://www.delphipraxis.net/103272-fastreport-4-zwei-report-kombinieren.html)

Kostas 13. Nov 2007 16:12


Fastreport 4. zwei Report kombinieren
 
Hallo Zusammen,

ich habe mit Fastreport 4.4.4 zwei Reports erzeugt die einwandfrei funktionieren.
Jetzt würde ich gerne beide Reports beim drucken zusammenführen so als ob es ein
einzelner Report währe.
Gibt es dafür ein Beispiel?

Noch eine Problemstellung zu diesem Report:
Report 1 erzeugt eine Summe und Report 2 ebenfalls.
Im zusammengesetzten Report, sollen diese Summenzahlen im der Reportzusammenfassung
gedruckt werden.
Ich stelle mir das so vor, jeder Report schreibt die Summenwerte in Variablen
die ich verwenden kann beim drucken der letzten Reportseite.
Die Frage ist, ob ich darauf zugreifen kann.


Gruß Kostas

alzaimar 13. Nov 2007 17:15

Re: Fastreport 4. zwei Report kombinieren
 
Per Programm müsstest Du das hinbekommen: Laden 1.Report, Prepare, Laden 2.Report, Prepare, fertig.

Delphi-Quellcode:
frxReport1.LoadFromFile('1.fr3');
frxReport1.PrepareReport;
frxReport1.LoadFromFile('2.fr3');
frxReport1.PrepareReport(False);
frxReport1.ShowPreparedReport;
Die Summenbildung machst du jeweils über Variablen.

Kostas 14. Nov 2007 09:34

Re: Fastreport 4. zwei Report kombinieren
 
Zitat:

Zitat von alzaimar
Per Programm müsstest Du das hinbekommen: Laden 1.Report, Prepare, Laden 2.Report, Prepare, fertig.

Delphi-Quellcode:
frxReport1.LoadFromFile('1.fr3');
frxReport1.PrepareReport;
frxReport1.LoadFromFile('2.fr3');
frxReport1.PrepareReport(False);
frxReport1.ShowPreparedReport;
Die Summenbildung machst du jeweils über Variablen.

Hallo alzaimar,

perfekt genau so geht’s Dankeschön.
Noch eine Frage bitte zu den Variablen, wie funktioniert das genau?
Die einzelnen Reports wissen nichts voneinander. Muss ich diese irgend wie
an Delphi übergeben oder gibt es eine Möglichkeit das der zweite Report
auf die Variablen vom ersten Report zugreifen kann?

Gruß Kostas

Kostas 19. Dez 2007 09:25

Re: Fastreport 4. zwei Report kombinieren
 
Hallo alzaimar,

jetzt habe ich noch eine Anforderung.
Möglicherweise kannst Du mir auch dabei helfen.
Der zusammengesetzte Report besteht nun aus zwei eigenständige Reports die jeweils am Reportende Summen erzeugen.
Diese Summen müsste ich zusammenaddieren zu einer Gesamtsumme. Wie kann ich bitte die Summen der einzelnen Reports zwischenspeichern um diese am Reportende zu drucken?
Vermutlich müsste ich noch ein dritten Report erzeugen der als letztes gedruckt wird der genau auf die gespeicherte Summen zurückgreifen kann.
Hast Du eine Idee?

Gruß Kostas

alzaimar 19. Dez 2007 09:37

Re: Fastreport 4. zwei Report kombinieren
 
Normalerweise: Neue Frage, neuer Thread.

Ja, genauso würde ich das machen. Ich meine sogar, in den Demos ist dazu etwas.

Grundsätzlich solltest du herausfinden, wie man in FR Variablen von Delphi aus setzt bzw. darauf zugreift. Die Beschreibungen dazu musst du dir selbst von Fast-Report.Com besorgen. Die Summen der Einzelreports schreibst du dann in so eine Variable, um sie nach dem Rendern des jeweiligen Reports von Delphi auszulesen.

Die Summen der Summen :stupid: sind dann Grundlage für den 3.Report.

Kostas 19. Dez 2007 15:11

Re: Fastreport 4. zwei Report kombinieren
 
Zitat:

Zitat von alzaimar
Normalerweise: Neue Frage, neuer Thread.

Ja, genauso würde ich das machen. Ich meine sogar, in den Demos ist dazu etwas.

Grundsätzlich solltest du herausfinden, wie man in FR Variablen von Delphi aus setzt bzw. darauf zugreift. Die Beschreibungen dazu musst du dir selbst von Fast-Report.Com besorgen. Die Summen der Einzelreports schreibst du dann in so eine Variable, um sie nach dem Rendern des jeweiligen Reports von Delphi auszulesen.

Die Summen der Summen :stupid: sind dann Grundlage für den 3.Report.

Also wie ich eine Reportvariable abfragen und setzen kann, ist mir soweit klar.
Das geht so: frxReport1.Variables['Durchwahl'] := StringVar('0815');

Es gibt auch ein Ereignis OnGetValue welches ich auch verwende.
Mir ist nur eines nicht klar: Ein TfrxmemoView hat ein event OnAfterPrint
Wenn also mein SummenFeld dieses Ereignis feuert, würde ich gerne denn Wert nach
Delphi transportieren. Wie das geht ist mir nicht klar. Möglicherweise habe ich
nur ein Denkfehler, ich komme einfach nicht drauf.


Delphi-Quellcode:
procedure TfrFRPrint.frxReport1GetValue(const VarName: String;
  var Value: Variant);
begin
  case aReportFormular of
    rfAngebot:
      begin
        if (CompareText(VarName, 'MitStruktur') = 0) then
        begin
          frAngebot.qrAngebotstruktur.refresh;
          value := (frAngebot.qrAngebotstruktur.RecordCount>0);
        end;{if}
      end;
  end;{case}

end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz