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, z.B. Textfelder, Datenbankfelder usw. In diesem Artikel werden die wichtigsten Objekttypen beschrieben. Einzelheiten entnehmen Sie ggf. der Crystal-Reports Dokumentation.
1.1 Einfügen der Objekte
Objekte werden eingefügt über das Crystal-Reports Menü “Einfügen” oder eines der Symbole im oberen Bereich.
1.2 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.
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.
2 Textfelder
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 einmischen.
3 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 Feldnamen zusammensetzt.
Beispiel:
-
ADR.ADRNR
bezeichnet das Feld “Adressnummer” aus der Datenbank-Tabelle “ADR” (Adressen). -
ADR.STR
bezeichnet das Feld “Straße” (Strasse) 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 Crystal-eports die Platzhalter durch die Daten aus der Datenbank.
- Datenbankfelder können beliebig formatiert werden. Die Größe (=Breite) eines Datenbankfeldes richtet sich nach der Breite, wie sie im Report angegeben wurde. Einige Datenbankfelder können auch mehrzeilig werden (Memo-Felder, Text-Felder).
- Datenbankfelder sind immer von einem bestimmten Typ. 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.
4 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.
4.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.
4.2 Spezialfelder
Mit den von Crystal-Reports vorgegebenen Spezialfeldern kann man z.B. Seitennummern anbringen, die Gesamtseitenzahl ausdrucken usw.
5 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.
5.1 Textfelder
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.
5.2 Zahlenfelder
Bei Zahlenfeldern gibt es entweder die Standardoptionen oder individuelle Einstellungen mit der Schaltfläche [Anpassen]
5.3 Datumsfelder
Bei Datumsfeldern gibt es Standard-Optionen. Hier ist vor allem wichtig, ob man die Jahreszahl zwei- oder vierstellig ausdrucken will. Wenn man mit diesen Vorgaben nicht auskommt, kann man auch mit der Schaltfläche [Anpassen] individuelle Einstellungen vornehmen.
- 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!