Home » Tutorials » Third-Party-Komponenten » Quick Reports

Quick Reports

Was macht einen Report aus – Begriffe

Es gibt zwei grundlegende Report-Typen: Reports, auf denen sich Bänder oder Abschnitte befinden, und Reports, die wiederholend dasselbe Layout drucken wie Etiketten oder Formulare. Hersteller von Report-Schreibern können gewöhnlich mit beiden Typen umgehen, aber manchmal fühlt sich ein Typ besser an als der andere. Seien Sie flexibel. Versuchen Sie nicht, einen Report in ein Format zu zwängen, nur weil Sie sich mit diesem besser auskennen. Erkennen Sie auf der anderen Seite, dass Band-Reports z. B. mit Formularen umgehen und Etiketten-Reports den Band-Stil simulieren können.
Mit Bändern gestaltete Reports haben folgenden grundlegenden Aufbau:
Als erstes kommt ein Berichtkopf (Report Header). Ein Berichtkopf wird nur einmal gedruckt und enthält Informationen, die Sie zu Beginn des Reports sehen wollen, aber nicht auf jeder einzelnen Seite. QR nennt dieses Band „Title Band“, weil es für gewöhnlich dort ist, wo sich auch der Berichttitel befindet. Das sollte unkompliziert sein, aber unglücklicherweise muss es mit einem anderen Band zusammenarbeiten, dem Page Header. Der Seitenkopf (page header) wird in QR-Ausdrucken zuerst gedruckt, dann der Report Header. Warum? Weil die Möglichkeit besteht, etwas wie Seitenzahlen und Druckdatum auf jeder Seite auszugeben, und der Reporttitel bräuchte doppelte Datenfelder, wenn er auf die erste Seite gedruckt würde und anschließend der Page Header auf den Rest der Seiten drucken müsste. Wenn Sie eine vollständige Kopfseite drucken wollen, bevor Sie mit dem Drucken des Reports beginnen, müssen Sie deshalb eine neue Seite erzwingen, indem Sie das AfterPrint-Ereignis des Title Bands verwenden.
Zum Beispiel:

procedure TForm1.TitleBand1AfterPrint(Sender:TQRCustomBand; BandPrinted: Boolean);
begin
 QuickRep1.NewPage;
end;

TIPP 2

Wenn Sie nicht wollen, dass der Seitenkopf gar nicht auf der ersten Seite des Reports erscheint, weil Sie eine Titelseite erstellen wollen, müssen Sie die First Page Header-Einstellung in den Optionen der QuickRep-Komponente auf false setzen. Dort können Sie ebenfalls den Last Page Header abschalten, wenn eine Zusammenfassung gedruckt wird, so dass Sie eine spezielle Zusammenfassungsseite ohne die Standardseiteninfo drucken können.
Das nächste in der Druckreihenfolge ist das Column Header-Band. Dieses Band ist zum Drucken von Kopfzeilen in einfachen Berichten nützlich. Es ist ein optionales Band, weil Sie Ihre Spaltenkopfzeile im Page Header-Band platzieren haben könnten, wenn Sie gewollt hätten. Eine weitere Stelle zum Platzieren von Kopfzeilen ist das nächste Band in der Liste, Group Header genannt. Das Group Header Band ist mit der Gruppierungslogik Ihrers Reports verbunden und ist ein weiteres optionales Band. Der Hauptunterschied zwischen dem Spaltenkopf (Column Header) und den anderen Möglichkeiten ist, dass der Spaltenkopf über den Anfang jeder Spalte gedruckt wird. Wenn Sie einen mehrspaltigen Report haben, ist das von Bedeutung.
Bevor wir mit Gruppierungen arbeiten, schauen wir noch das Detail-Band an, welches das nächste Band in der Druckreihenfolge ist. Das Detail-Band ist das wichtigste Band im Report, weil es sich dort befindet, wo die meisten Ihrer mit Daten gefüllten Komponenten platziert werden. Es kann gedehnt werden, um eine ganze Seite zu bedecken, und wird dadurch eine Art bandloser Report, oder es kann entfernt werden, wenn Sie nur einen Zusammenfassungsreport ohne irgendwelche Details drucken wollen.
Das nächste in der Liste ist der Group Footer, der alle Zwischensummen enthält, die sich auf die Daten der Gruppe beziehen. Wenn Sie wollen, dass jede Gruppe auf einer eigenen Seite gedruckt wird, indem die nächste Gruppe auf der folgenden Seite beginnt, setzen Sie ein Neue-Seite-Befehl in das AfterPrint-Ereignis des Group Footers.
Zum Beispiel: QuickRep1.NewPage;

TIPP 3

Wenn Sie Ihre wollen, dass Ihre Summen un Ihren Gruppenfußzeilen neu beginnen, nachdem jede Gruppenfußzeile gedruckt wurde, setzen Sie die Reset-after-Print-Eigenschaft auf true statt auf fale. Wenn sie auf false gelassen wird, werden Summen über den ganzen Report hinweg zusammengezählt.
Das nächste Band ist das Summary Band, das nur am Ende des Reports gedruckt wird. Wenn Sie wie beim Titel wollen, dass das Zusammenfassungsband auf einer eigenen Seite gedruckt wird, müssen Sie einen Neue-Seite-Befehl in das BeforePrint-Ereignis einfügen, so dass die Zusammenfassung auf einer extra Seite beginnt.

TIPP 4

Wenn Sie wollen, dass das Summary Band immer am unteren Rand des Reports gedruckt wird, ändern Sie die AlignToBottom-Eigenschaft auf true.
Das letzte Band, das gedruckt wird, ist der Page Footer. Dieser wird gewöhnlich am unteren Rand von jeder Seite gedruckt und, wenn Sie es wollen, nach dem SummaryBand. Page Headers und Page Footers sind hervoragende Stellen, um wiederkehrende Informationen wie Druckdatum, Seitenzahl, Firmenname usw. unterzurbringen.