CrystalReports: Grundsätzliche Elemente eines Reports
Inhaltsverzeichnis
1 Allgemeines
(In Bearbeitung)
Ein Report besteht nicht einfach aus Text, sondern es gibt eine Reihe von Objekten in einem Report, die zusammengenommen das Layout ergeben.
2 Objekte
2.1 Textfelder (Textobjekte
Textfelder geben Ihnen die Möglichkeit, feste (konstante) Texte im Report unterzubringen. Beispiele hierfür sind Überschriften, Report-Titel usw. Textfelder können beliebige Schriftarten bekommen und auch mehrzeilig sein.
- In Textfelder kann man auch Datenbankfelder beliebig einfügen: Fügen Sie dazu zuerst das Textfeld in den Report ein. Verbreitern Sie das Textfeld so, dass das Datenbankfeld Platz darin hat. Ziehen Sie dann ein Datenbankfeld in das Textfeld hinein. Sie können auch mehrere Datenbankfelder hintereinander in ein Textfeld einfügen.
Wenn Sie konstante Textfelder in den Report einfügen wollen, so wählen Sie aus dem Menü “Einfügen->Textobjekt” oder klicken auf das entsprechende Symbol. Ziehen Sie dann die Maus (ohne gedrückte Maustasten!) An die Stelle, wo der Text eingefügt werden soll. Dort klicken Sie mit der linken Maustaste. Ein kleines Eingabefeld erscheint und gibt Ihnen die Möglichkeit, Text einzugeben. Sie können dieses Feld jederzeit erweitern. Im Formatmenü (rechte Maustaste über dem Feld drücken, “Text formatieren” auswählen) können Sie außerdem einige Optionen für das Feld angeben, z.B. die Option “Kann größer werden”, mit der Sie zulassen, daß das Textfeld über mehrere Zeilen reichen soll.
Neben der Schriftart ist eine der wichtigsten Optionen für Textfelder die Option “Kann grösser werden”. Hiermit können Sie bestimmen, dass das Textfeld mehrere Textzeilen umfassen kann und automatisch in der Höhe “mitwächst”. Ausserdem können Sie hier angeben, wieviel Zeilen maximal gedruckt werden.
Die Schaltflächen [X+2] neben einer Option geben an, dass man die Option auch über eine Formel beeinflussen kann, d.h. abhängig von bestimmten Bedingungen ein- oder ausschalten kann.
2.2 Datenbankfelder
Datenbankfelder sind Platzhalter für die Daten aus der Datenbank. Jedes Datenbankfeld wird über einen Namen angesprochen, der sich auch dem Tabellennamen und dem eigentlichen Feldnamen zusammensetzt.
Beispiel:
-
ADR.ADRNR
bezeichnet das Feld Adressnummer aus der Datenbank-Tabelle ADR (Adressen). -
ADR.STR
bezeichnet das Feld Straße aus der Datenbank-Tabelle ADR (Adressen). -
MART.TYPp
bezeichnet das Feld Typ aus der Tabelle Artikel MART.
Zur Laufzeit (wenn der Report ausgeführt wird) ersetzt CrystalReports die Platzhalter durch die Daten aus der Datenbank.
- Datenbankfelder sind immer von einem bestimmten Datentyp. So gibt es z.B. Zahlenfelder, Textfelder, Datumsfelder usw. Jeder Feldtyp hat dabei seine Eigenheiten, man z.B. nur bei einem Zahlenfeld festlegen, mit wie vielen Nachkommastellen es ausgedruckt werden soll.
- Datenbankfelder können vielseitig formatiert werden. Die Formatierungsmöglichkeiten richten sich nach dem Datentyp des jeweiligen Feldes. Beispiele:
- Alle Felder können in der Schriftart und -größe angepasst werden.
- Bei Zahlenfeldern kann die Anzahl der Nachkommastellen, das Tausendertrennzeichen, die Aufrundung usw. angepasst werden.
- Bei Datumsfeldern kann man das lange (TT.MM.JJJJ) oder kurze (TT.MM.JJ) Format angeben, den Monat im Klartext, nur den Wochentag und vieles mehr angeben.
- Wenn Sie nur den Wochentag eines Datums ausdrucken wollen, so wählen Sie die gewünschte Form “Wochentag” und in den Feldern “Format “ jeweils die Option “Kein” aus. Dadurch wir der Druck des Tages, Monats und Jahres unterdrückt und nur der Wochentag ausgedruckt!
Um ein Feld zu formatieren, klicken Sie mit der rechten Maustaste darauf und wählen aus dem Menü "Formatieren...".
Die Größe (=Breite) eines Datenbankfeldes richtet sich nach der Breite, wie sie im Report ausgegeben werden soll.
Einige Datenbankfelder können auch mehrzeilig werden (Memo-Felder, Text-Felder). Im Formatierungsmenü gibt es dazu die Option "Kann größer werden!".
2.3 Formeln
Formeln sind eine sehr mächtige Möglichkeit, Inhalte von Berechnungen auszugeben oder Inhalte von Datenbankfelder abhängig von bestimmten Gegebenheiten auszugeben.
Beispiele:
- Eine Formel wird dazu benutzt, die Statusnummer eines Auftrags (1=Aktiv, 2=Angebot, 3=Auftrag usw.) in einen Klartext umzusetzen: Wenn MAufKo.StatusNr=1 dann drucke “AKTIV”, wenn MAufKo.StatusNr=2 dann drucke “ANG” usw.
- Eine Formel berechnet den Lagerwert eines Artikel anhand des Einkaufspreises multipliziert mit der Soll-Menge:
{Mart.EK} * {MArt.BestandSoll} . - In einem Angebot werden die konstanten Texte nicht mit Textfeldern angegeben sondern in Formeln, die die gewünschte Sprache berücksichtigen:
if {MaufKo.Sprache}=”D” then “Angebot” else if {MaufKo.Sprache}=”E” then “Offer” else if {MaufKo.Sprache}=”F” then “Offerte”
In diesem Beispiel sehen Sie, dass Datenbank-Felder in Formeln immer in geschweiften Klammern stehen!
Ein weiteres wichtiges Einsatzgebiet von Formeln ist es, dass man Objekte unter bestimmten Voraussetzungen unterdrücken kann. Man kann z.B. bestimmen, dass das Wort “Rabatt” in einem Angebot nicht gedruckt wird, wenn es gar keinen Rabatt im Angebot gibt.
Einzelheiten zu den vielfältigen Möglichkeiten von Formeln entnehmen Sie ggf. der Crystal-Reports Dokumentation.
Fazit:
Formeln geben Ihnen die Möglichkeit
- Berechnungen innerhalb des Reports vorzunehmen, z.B. den Durchschnitt aller aufgelisteten Aufträge, das Gesamtgewicht einer Auftragsposition aus Menge x Einzelgewicht usw.
- Vergleiche zwischen Feldern oder Werten vorzunehmen, um damit das Erscheinen bzw. das Unterdrücken von einzelnen Feldern oder ganzen Report-Bereichen zu steuern.
2.3.1 Neue Formel anlegen
Wenn Sie eine Formel für Datenvergleiche erstellen möchten und damit das Unterdrücken von Feldern oder Report-Bereichen von einer Bedingung abhängig machen wollen, so wählen Sie zuerst das zu unterdrückende Objekt an und drücken die rechte Maustaste. Im Menü wählen Sie “... formatieren” an.
Zur Eingabe einer Formel klicken Sie auf das Symbol [X+2] neben dem Wort “Unterdrücken” und geben dort an, unter welchen Bedingungen das Objekt unterdrückt werden soll.
2.4 Linien
2.5 Rechtecke
2.6 Bilder
2.7 Diagramme
2.8 OLE-Objekte
2.9 Spezialfelder
Mit den von Crystal-Reports vorgegebenen Spezialfeldern kann man z.B. Seitennummern anbringen, die Gesamtseitenzahl ausdrucken usw.
3 Einfügen der Objekte
Objekte werden eingefügt über das Crystal-Reports Menü “Einfügen” oder eines der Symbole im oberen Bereich.
4 Positionierung der Objekte
Alle visuellen Objekte (Textfelder, Datenbankfelder usw.) können frei in den Bereichen des Reports positioniert werden.
- Wenn Sie das Gitternetz in den Optionen aktiviert haben, werden die Objekte an diesem Raster eingefügt und bewegt.
- Wenn Sie ein Objekt in die Nähe einer Führungslinie bringen, wird es von der Führungslinie angezogen und (je nach Position) links, rechts, mittig, oben oder unten positioniert.
5 Führungslinien
Es empfiehlt sich, in den Report vertikale und horizontale Führungslinien einzufügen, damit man die Objekte besser zueinander ausrichten kann. Führungslinien sind “Magnete”, die sich die Objekte ab einem bestimmten Abstand “schnappen” und heranziehen. Einzelheiten entnehmen Sie ggf. der Crystal-Reports Dokumentation.
6 Formatierung der Objekte
Crystal-Reports bietet Ihnen eine Fülle von Formatierungsoptionen für jedes Objekt an. Die Möglichkeiten zur Formatierung hängt dabei vom Objekt-Typ ab:
- Ein Zahlenfeld kann z.B. mit verschiedenen Nachkommstellen formatiert werden.
- Ein Datumsfeld kann z.B. mit 2- oder 4-stelliger Jahreszahl formatiert werden.
- Ein Textfeld kann ein- oder mehrzeilig formatiert werden
usw.
Alle Formatieroptionen erreichen Sie, indem Sie den Mauscursor auf das gewünschte Objekt stellen und die rechte Maustaste drücken.
Alle Objekte werden nur in der Breite gedruckt, in der sie im Report angegeben werden! Die Breite eines Feldes im Report gibt also die maximale Druckbreite an.
Jedes druckbare Objekt kann die in Windows bekannten Schriftarten in allen möglichen Varianten erhalten. Sie können also die Schriftattribute Fett, Kursiv, die Schriftgrösse usw. vollkommen frei festlegen!
Alle Objekte können ausserdem linksbündig, rechtsbündig oder zentriert festgelegt werden.
HINWEIS:
Sie können mehrere Felder gleichzeitig auswählen, indem Sie die UMSCHALTTASTE gedrückt halten und die Maustaste verwenden, oder indem Sie den Befehl "BearbeitenFelder auswählen" wählen. Im letzteren Fall schließen Sie die gewünschten Felder mit dem Fadenkreuz-Cursor in einen Auswahlrahmen ein.
Wenn Sie möchten, können Sie die Position oder Breite eines Feldes ändern, das Feld formatieren oder ein Feld löschen. Klicken Sie dazu auf den Feldrahmen für das jeweilige Feld. Schwarze Ziehpunkte werden an den rechten und linken Seiten aller ausgewählten Felder angezeigt.
Sie ändern die Feldpositionierung, indem Sie den Feldrahmen mit der Maus oder den Pfeiltasten zur neuen Position verschieben. Die Pfeiltasten verschieben den Feldrahmen bei jedem Tastendruck um jeweils eine Gitterposition bzw. um eine Einheit.