Copyright: (C) 1997 THSD Software, T. Hartmann, www.thsd.de
Citation: (C) Copyright 1997 by THSD Software, Timo Hartmann, www.thsd.de


Inhalt
Inhalt	Lizenz- und Copyright-Informationen zum Reportdesigner

Einführung

Grundlagen

•	Begriffsdefinitionen

•	Abschnitte eines Reports (Reportbänder)

•	Reportelemente

Der Reportentwurf

•	Erzeugen eines neuen Reports mit dem Reportexperten

•	Einfügen eines neuen Reportelements

•	Editieren eines Reportelements

•	Werkzeugleiste

•	Mausbedienung

•	Tastaturbedienung

Datenbanken

•	Datenbank-Setup

Praktische Beispiele

•	Modifizieren eines bestehenden Reports

•	eine einfache Adreßliste

•	eine fortgeschrittene Adreßliste

Elementtypen und ihre Eigenschaften:

Reportbänder

•	Standardbänder (Titel, Detail, ...)

•	Subdetailband

•	Groupband

•	Childband

Reportelemente:

•	Datenfeld

•	Textfeld

•	Memo

•	Bilddatei

•	Bild aus Datenbank

•	berechnetes Feld

•	Form

•	Systemfeld

•	Richtext

•	Richtext aus Datenbank

•	Chart

Fortgeschrittene Funktionen

•	Formatierung von numerischen Feldern und Datums- oder Zeitfeldern

•	Definition berechneter Ausdrücke

•	Parameter für SQL Abfragen

Sonstiges

Menüpunkt "Ansicht|Optionen"

Menüpunkt "Report|Optionen"

Fragen und Antworten, Tips und Tricks


Begriffsdefinitionen

Reports und Datenbanken

Report

Mit dem Begriff  "Report" ist ein Ausdruck von Datensätzen aus einer Datenbank gemeint. Der Report legt fest, auf welche Weise (Gliederung, Formatierung, Schriftart etc.) die Daten ausgedruckt werden. Ein Beispiel ist der Ausdruck einer Adressenliste von einer Adreßverwaltung. Durch den Report wird unter anderem festgelegt, welche Datenfelder überhaupt ausgedruckt werden (z.B. Name und Telefon) und welche Felder nicht auf dem Ausdruck erscheinen. Ein Report kann sowohl in Listenform als auch seitenweise, d.h. ein Datensatz pro Seite erfolgen. Im Idealfall können Sie mit Reports jede beliebige Art von Ausdruck aus Ihren Daten erzeugen.

Tabelle (engl. Table)

Unter einer Tabelle versteht man eine Datei mit gleichartigen Datensätzen, z.B. eine Datei mit Adressen, mit Artikeln oder mit Auftragspositionen. Tabellen werden häufig als Datenbanken oder Datenbankdateien bezeichnet, auch wenn diese Bezeichnung nicht ganz korrekt ist (siehe unten, Begriff "Datenbank").

Abfrage (engl. Query)

Eine Abfrage besteht aus Anweisungen, die aus einer Tabelle bzw. Datenbank eine Gruppe von Datensätzen zurückliefern. Zu diesem Zweck existiert die Abfragesprache SQL. Eine ausführliche Beschreibung würde den Rahmen dieser Hilfe sprengen, daher sei hier auf entsprechende Sekundärliteratur verwiesen.

Datenbank

In der Umgangssprache wird Datenbank häufig mit einer Tabelle gleichgesetzt. Der Einfachheit halber wird in dieser Dokumentation auch keine strikte begriffliche Trennung zwischen Datenbanken und Tabellen vorgenommen, obwohl in der "Datenbanksprache" der Begriff etwas anders benutzt wird (dieses nur als Hinweis, falls Sie Erfahrung im Umgang mit Datenbanken haben).


Abschnitte eines Reports (Reportbänder)

Im Folgenden sehen Sie als Beispiel die erste Seite eines Reports, der Länder mit ihren Hauptstädten sowie die Bevölkerungszahl auflistet. Dieser Report läßt sich offensichtlich in einzelne Abschnitte unterteilen:

Beim Entwurf eines Reports orientiert man sich sinnvollerweise ebenfalls an diesen Abschnitten. Im "Reportdesigner-Jargon" werden diese Abschnitte als "Bänder" bezeichnet, die Fußzeilen werden z.B. im "Footerband" (=Fußband) zusammengefaßt und den Titelabschnitt nennt man "Titelband". Zentrales Element ist das "Detailband". Das Detailband wird für jeden Datensatz einmal ausgedruckt, so daß eine Liste der Daten entsteht. Das Layout des Detailbands bleibt immer gleich für jeden Datensatz, nur die enthaltenen Daten ändern sich, daher muß für einen Report auch nur ein Detailband definiert werden. In obigem Beispiel muß deshalb nicht für jedes Land einzeln festgelegt werden, wie die entsprechende Datenzeile gedruckt wird.


Reportelemente

Abgesehen von Reportbändern, die den Report beim Entwurf in logische Abschnitte unterteilen, besteht der Report natürlich noch aus Reportelementen, die den Report mit Inhalt füllen und auf den Reportbändern liegen.

Die zwei wichtigsten Reportelemente sind Textfelder und Datenfelder. Ein Textfeld ist lediglich ein von Ihnen eingegebener Text - z.B. für eine Überschrift - der keinerlei Verbindung zu einer Datenbank hat. Datenfelder bezeichnen jeweils ein Feld aus einer Datenbank. Beim Ausdruck des Reports wird dann dort, wo Sie im Entwurf ein Datenfeld plaziert haben der entsprechende Wert aus der Datenbank eingesetzt.

Textfelder stellen in der Regel lediglich einen Zusatz zu Datenfeldern dar, damit der Report nicht einfach nur Daten auflistet, sondern auch zu erkennen ist, um was für Daten es sich überhaupt handelt.

Der Reportentwurf für obige Länderliste sieht folgendermaßen aus:

Folgende Arten von Reportelemente stehen zum Reportentwurf zur Verfügung:

•	Datenfeld zur Darstellung von Text aus einer Datenbank

•	Textfeld zur Darstellung von fest definiertem Text

•	Systemdatenfeld (Datum, Uhrzeit, Seitennummer, ...)

•	geometrische Form (Kreis, Rechteck, Linie)

•	Bild (aus Windows Bitmap Datei)

•	Bild aus Datenbank

•	berechneter Ausdruck (für zusammengesetzte Ausdrücke, mathematische Berechnungen, ...)

•	Memo (mehrzeiliges Textfeld)

•	RTF (Richtextfeld = formatiertes Textfeld, nur bei 32-bit Programmen verfügbar)

•	RTF aus Datenbank (nur bei 32-bit Programmen verfügbar)

•	Chart (diverse Graphen wie z.B. Balkengrafik)

Jedes Reportelement hat bestimmte Eigenschaften (Schriftart, Farbe usw.), die Sie beliebig anpassen können.

Wie das genau funktioniert lesen Sie im Abschnitt über die einzelnen Reportelemente.


Erzeugen eines neuen Reports mit dem Reportexperten

Wählen Sie zum Erzeugen eines neuen Reports den Menüpunkt "Datei|Neu" oder drücken Sie die entsprechende Schaltfläche.

Daraufhin wird der Reportexperte gestartet, mit dem Sie schnell und einfach einen ersten Reportentwurf erstellen können.

Der Reportexperte fragt Sie nach dem Typ des zu erstellenden Reports, der gewünschten Datenquelle und sonstigen Layoutfragen und fügt dann automatisch die notwendigen Reportelement in den Report ein. Anschließend können Sie den Report noch frei editieren und Ihren Wünschen anpassen.

Wenn Sie im Reportexperten bei der Frage nach dem Reporttyp die Option "leeren Report erstellen" auswählen, dann wird der Experte sofort beendet und Sie starten mit einem komplett leeren Reportentwurf, d.h. Sie müssen Reportbänder und auch die gewünschten Datenquellen manuell hinzufügen.


Einfügen eines neuen Reportelements

Am linken Fensterrand des Reportdesigners finden Sie senkrecht angeordnet Schaltflächen zum Einfügen der diversen Reportelemente.

 Reportband	 Childband	 Subdetailband

 Groupband	 Textfeld	 Memo

 Bild/Bitmap	 Form	 Systemdaten

 Datenfeld	 Bild aus Datenbank	 berechnetes Feld

Folgende Elemente bzw. deren Schaltflächen sind abhängig von der verwendeten Plattform (16 oder 32 bit) sowie der Applikation, in die der Reporteditor eingebunden ist verfügbar:

 Richtextfeld	 Datenbank-Richtext	 Chart

Zum Einfügen eines Elements klicken Sie im Reportdesigner auf den entsprechenden Schalter und klicken Sie dann im Report auf die Stelle, an der Sie das Element einfügen wollen.

Wenn Sie ein neues Reportband einfügen, dann ist es unerheblich, an welcher Stelle Sie zum Einfügen klicken, da die Anordnung der Bänder automatisch aufgrund des Bandtyps (Seitenkopf, Titelband etc.) festgelegt wird. Beim Einfügen eines Reportelements wie z.B. eines Text- oder eines Datenfelds klicken Sie auf die gewünschte Position im Report. Natürlich können Sie ein Reportelement später noch problemlos verschieben.


Editieren eines Reportelements

Die Eigenschaften eines Reportelements können Sie jederzeit ändern. Selektieren Sie einfach das gewünschte Element und führen Sie dann entweder einen Doppelklick mit der linken Maustaste aus oder drücken Sie die rechte Maustaste und wählen Sie im erscheinenden Kontextmenü den Punkt "Eigenschaften". Daraufhin erscheint der Dialog zum Ändern der Elementeigenschaften, der auch beim Einfügen eines neuen Reportelements erscheint. Das folgende Beispiel zeigt den Eigenschaftsdialog für ein Textfeld:

Geben Sie die gewünschten Elementeigenschaften an und drücken Sie den Ok-Schalter, um das Element in den Report einzufügen und den Eigenschaftsdialog zu schließen. Wenn Sie den Abbruch-Schalter drücken wird das Element nicht in den Report eingefügt.

Die jetzt festgelegten Eigenschaften sind natürlich nicht endgültig, Sie können diese problemlos jederzeit ändern.

Erläuterungen zu den einzelnen Elementeigenschaften finden Sie bei der Beschreibung des jeweiligen Reportelements.


Werkzeugleiste

Über die Schalter der Werkzeugleiste können Sie viele Eigenschaften von Reportelementen direkt ändern, ohne erst den Eigenschaftsdialog mit der rechten Maustaste aufrufen zu müssen. Außerdem können Sie auf einfache Weise mehrere Elemente gleichzeitig bearbeiten.

Diese Schalter dienen zum Anlegen eines neuen Reports sowie zum Laden und Speichern.

Mit diesen Schaltern drucken Sie den Report aus bzw. lassen sich den Ausdruck in einer Vorschau am Bildschirm anzeigen.

Mit diesen Schaltflächen benutzen Sie die Zwischenablage des Reportdesigners (Ausschneiden, Kopieren, Einfügen).

Über diese Schalter setzen Sie ein Reportelement in den Hintergrund oder bringen es in den Vordergrund. Das ist sinnvoll, wenn sich mehrere Reportelemente überlappen.

Diese Schalter dienen zum Ausrichten von Reportelementen. Manche Schalter sind nur dann verfügbar, wenn mehrere Reportelemente selektiert sind, da die Ausrichtung z.B. der linken Kanten nur mit mehreren Elementen Sinn macht.

Dieser Abschnitt zeigt rechts den momentan selektierten Elementtyp an, sowie links die wichtigste Eigenschaft (Text bei Textfeldern, Datenfeld, Bandtyp, ...). Diese Eigenschaft können Sie direkt bearbeiten, so daß Sie nicht extra den Eigenschaftsdialog des Elements öffnen müssen.

Dieser Teil der Werkzeugleiste bestimmt die Schriftart und Schrifteigenschaften des gewählten Reportelements. Im Einzelnen: Schriftart, Schriftgröße, Fettdruck, Unterstrichen, Kursiv.

Diese Schalter dienen zum Ausrichten des Textes innerhalb des Reportelements. Text kann entweder linksbündig, rechtsbündig oder zentriert dargestellt werden. Das macht natürlich nur dann Sinn, wenn das Reportelement größer als der enthaltene Text ist und die automatische Größenanpassung deaktiviert ist.

Mit diesem Schalter öffnen Sie ein Dialogfenster, in dem Sie den Rahmen um das momentan gewählte Element editieren können. Abgesehen von Bändern ist diese Rahmeneigenschaft nur über diesen Schalter erreichbar und nicht über die Eigenschaftsdialoge der einzelnen Reportelemente.


Mausbedienung

Reportelement auswählen

Durch Anklicken mit der linken Maustaste werden Reportelemente ausgewählt. Die Auswahl erkennen Sie an den acht kleinen schwarzen Kästchen am Rand des Elements:

Größe eines Elements ändern

Die kleinen Kästchen eines gewählten Elements dienen zur Größenänderung. Wenn Sie mit dem Mauszeiger auf ein solches Kästchen gehen, dann ändert sich der Mauszeiger und zeigt an, in welche Richtung Sie die Maus bei gedrückt gehaltener linker Maustaste ziehen können, um die Elementgröße zu ändern (Hinweis: Bänder lassen sich nur in der Höhe ändern, da sie prinzipiell über die gesamte Reportbreite gehen).

mehrere Elemente markieren, erste Möglichkeit

Wenn Sie mehrere Elemente auswählen wollen, dann halten Sie bei Anklicken mit der linken Maustaste die Umschalttaste gedrückt. Dadurch wird die Markierung des vorherigen Elements nicht entfernt, bevor das neue Element markiert wird.

mehrere Elemente markieren, zweite Möglichkeit

Alternativ können Sie auch die Steuerungstaste ([Strg] bzw. [Ctrl]) gedrückt halten und dann mit gedrückt gehaltener linker Maustaste einen Rahmen um die zu selektierenden Elemente ziehen. Beim Loslasssen der Maustaste werden alle Reportelemente innerhalb des Rahmens ausgewählt.

Elemente verschieben:

Sie können Reportelemente (außer Reportbänder) durch Anklicken mit der linken Maustaste verschieben. Halten Sie dazu die Maustaste gedrückt, ziehen Sie das Element an die gewünschte Position und lassen Sie die Maustaste wieder los.

Verschieben und Größenänderung unabhängig vom eingestellten Gitter

Wenn Sie ein Element unabhängig von der eingestellten Gittergröße (Menüpunkt "Ansicht|Optionen") punktweise verschieben oder vergrößern wollen, dann halten Sie während der Mausbewegung die Umschalttaste gedrückt.

Elementeigenschaften bearbeiten:

Wenn Sie ein selektiertes Element mit der rechten Maustaste anklicken, dann öffnet sich ein Kontextmenü. Wählen Sie den Menüpunkt "Eigenschaften", dann wird der Dialog zum Editieren der Elementeigenschaften angezeigt. Alternativ können Sie die Eigenschaften eines ausgewählten Elementes auch per Doppelklick bearbeiten.


Tastaturbedienung

Prinzipiell kann der Reportdesigner komplett mit der Maus bedient werden. Es gibt jedoch einige Funktionen, die Sie mit der Tastatur erreichen können:

Enter bzw. Eingabetaste:

Eigenschaftsdialog des Reportelements öffnen

Cursortasten:

Reportelement verschieben

Umschalttaste + Cursortasten:

Größe eines Reportelements ändern

Entfernen-Taste:

Reportelement löschen

Tabulator und Umschalttaste+Tabulator:

zum nächsten bzw. vorigen Reportelemente wechseln


Datenbank-Setup

In der Regel benötigt jeder Report mindestens eine Datenquelle, welche die Daten für den Report liefert. Das Datenbank-Setup, zu erreichen über den Menüpunkt "Report|Datenbanken", dient zum Festlegen aller Datenquellen und deren Verknüpfungen.

In diesem Dialog sehen Sie als erstes die Hauptdatenquelle für den Report, d.h. die Datenbank, die der Report durchlaufen soll und deren einzelne Datensätze nacheinander gedruckt werden sollen. Darunter sehen Sie die Liste aller für den Report verfügbaren Datenbanken. Momentan ist nur die Ländertabelle verfügbar, die als einzige Tabelle auch gleichzeitig Hauptdatenbank ist. Es spricht jedoch nichts dagegen, noch andere Datenbanken in den Report einzubeziehen und deren Daten zusätzlich im Report zu verwenden.

Dazu dienen die Schalter "Neue Datenbank" und "Neue Abfrage".

Neue Datenbank:

 Wenn Sie den Schalter "Neue Datenbank" wählen öffnet sich folgender Dialog:

Wählen Sie einfach wie in einem normalen "Datei öffnen" Dialog die gewünschte Datei bzw. Tabelle aus. In der "Aliase"-Auswahlbox können Sie - falls vorhanden - statt eines Verzeichnisses auch einen Datenbank-Alias wählen.

Neue Abfrage:

Wenn Sie den Schalter "Neue Abfrage" wählen öffnet sich folgender Dialog:

Hier können Sie nun Ihre Abfrage in SQL-Notation eingeben. Falls die Abfrage Parameter enthält können Sie deren Werte über den entsprechenden Schalter setzen. Beziehen sich die Parameter auf eine andere Abfrage oder Tabelle müssen Sie diese als "Master" setzen.

Datenbankfelder:

Wenn Sie den "Felder" Schalter drücken erscheint eine Liste alle Felder der gewählten Datenbank:

In dieser Liste können Sie einzelne Felder der Datenquelle entfernen, so daß diese nicht mehr im Report zur Verfügung stehen, oder Sie können die Feldeigenschaften ändern:

Unter "Bezeichnung" können Sie einen alternativen Namen für das Datenfeld angeben, z.B. können Sie so dem Datenfeld "Knd_Nr" die Bezeichnung "Kundennummer" geben. Unter "Format" können Sie für numerische Felder angeben, wie diese dargestellt werden sollen (siehe Formatierung von numerischen Feldern). "Genauigkeit" bestimmt bei Kommazahlen die Anzahl der Nachkommastellen.


Modifizieren eines bestehenden Reports

Dieser Abschnitt demonstriert den einfachsten Anwendungsfall des Reportdesigners. Es wird ein bereits existierender Reportentwurf mit korrekt eingestelltem Datenbanksetup und Reportbändern vorausgesetzt, der lediglich im Aussehen etwas angepaßt werden soll.

Als Beispiel dient folgender Reportentwurf:

Dieser Report liefert z.B. folgenden Ausdruck:

Größe der Datenabschnitte ändern

Angenommen, die einzelnen Zeilen stehen für Ihren Geschmack zu dicht zusammen. Jede einzelne Datenzeile bezieht ihr Aussehen vom Detailband des Reports. Für jeden Datensatz wird das Detailband einmal ausgedruckt. Wenn Sie nun die Höhe des Detailbandes vergrößern, dann vergrößern Sie den Platz, den jeder Datensatz einnimmt. Dazu selektieren Sie zuerst das Detailband im Reportdesigner durch Anklicken mit der linken Maustaste. Daraufhin erscheinen um das Detailband an den Ecken und Kanten kleine schwarze Kästchen, die zur Größenänderung dienen. Klicken Sie das mittlere Kästchen am unteren Rand des Bandes an und ziehen Sie die Maus bei gedrückt gehaltener Maustaste nach unten. Dadurch ziehen Sie das Detailband entsprechend der Mausbewegung auf, und wenn Sie die Maustaste loslassen wird die neue Bandgröße gesetzt.

Wenn Sie nun auf den "Vorschau" Schalter drücken sehen Sie, daß die einzelnen Datenzeilen entsprechend weit auseinandergezogen wurden.

Reportelemente verschieben

Vielleicht gefällt Ihnen die Position der einzelnen Reportelemente nicht und Sie möchten z.B. das erste Datenfeld nicht soweit am linken Rand drucken, sondern etwas mehr rechts. Durch einfaches Anklicken mit der linken Maustaste können Sie jedes Reportelement verschieben. Halten Sie die linke Maustaste gedrückt, ziehen Sie das Element an die gewünschte Stelle und lassen Sie die Maustaste los. Hinweis: Reportelemente können nur innerhalb eines Bandes verschoben werden. Reportbänder können nicht verschoben werden, da deren Position automatisch durch den Bandtyp bestimmt wird (z.B. Seitenheader am Anfang der Seite).

Schriftart ändern

Möchten Sie die Schriftart eines Reportelementes ändern, dann selektieren Sie zunächst das gewünschte Element (oder auch mehrere Elemente gleichzeitig) und benutzen dann die Werkzeugleiste:

Dort können Sie eine Schriftart aus den verfügbaren Schriften Ihres Computers wählen, Sie können die Schriftgröße verändern sowie Textattribute (Fett, Unterstrichen, Kursiv) setzen.

Textfelder hinzufügen und ändern

Wenn Sie Text zum Report hinzufügen möchten, dann drücken Sie den Schalter zum Einfügen eines Textfeldes [image] und klicken dann auf die gewünschte Stelle im Report, wo dieses Textfeld eingefügt werden soll. Daraufhin öffnet sich der Eigenschaftsdialog des Textfeldes und Sie können Ihren Text eingeben. Nach dem Drücken des OK Schalters erscheint dieser Text auf dem Reportentwurf und später auch auf dem Report.

Wenn Sie nachträglich den Text (oder andere Eigenschaften des Textfeldes wie z.B. Ausrichtung) ändern möchten, dann selektieren Sie einfach das Reportelement per linkem Mausklick und öffnen dann den Eigenschaftsdialog wieder durch Doppelklick mit der linken Maustaste oder durch Auswählen des Menüpunktes "Eigenschaften" im Kontextmenü des Elements (erreichbar über die rechte Maustaste).


eine einfache Adressenliste

Im Folgenden finden Sie eine Schritt-für-Schritt Anleitung zum Erzeugen eines einfaches Reports, der eine Adreßliste druckt. Dabei wird eine Tabelle benutzt, die die einzelnen Adreßdaten enthält. Wenn Sie möchten können Sie alle Schritte mit einer Ihnen zur Verfügung stehenden Tabelle nachvollziehen. Falls Sie in Ihrem Programm Reports nicht selbst erstellen möchten, sondern nur bestehende Report an Ihre Bedürfnisse anpassen wollen, dann können Sie Schritt 1 überspringen bzw. stattdessen einen fertigen Report laden.

Schritt 1: Erzeugen eines neuen Reports mit dem Reportexperten

Schritt 2: Editieren des Reportentwurfs

Schritt 3: Reportvorschau und Speichern


Schritt 1: Erzeugen eines neuen Reports

Wählen Sie als erstes den Menüpunkt "Datei|Neu" oder drücken Sie den entsprechenden Schalter. Daraufhin öffnet sich der Reportexperte und Sie können den gewünschten Reporttyp wählen. In unserem Fall wollen wir eine Liste drucken, also wählen wir "Listenform":

Drücken Sie nun den Schalter "Weiter". Sie gelangen dann zur Festlegung der Datenquelle. Geben Sie das Verzeichnis und den Dateinamen der Datenbank an oder klicken Sie auf "Durchsuchen", um die gewünschte Datei auszuwählen:

Nach Auswahl von  "Weiter" legen Sie auf der nächsten Seite des Reportexperten die Datenfelder fest, die auf Ihrem Report erscheinen sollen. Es stehen alle Felder der gewählten Tabelle zur Verfügung, aber Sie können auch nur einige dieser Felder für Ihren Report verwenden. Ziehen Sie Felder mit der Maus von der linken Liste in die rechte Liste, oder benutzen Sie die Schalter zwischen den Listboxen. In der rechten Liste können Sie durch Ziehen mit der Maus auch die Reihenfolge der Felder ändern:

Auf der nächsten Seite des Reportexperten legen Sie fest, welche Reportabschnitte bzw. Reportbänder vom Experten erzeugt werden sollen:

Nun folgen noch einige allgemeine Reporteinstellungen, z.B. können Sie hier auch festlegen, daß Ihr Report mehrspaltig sein soll:

Auf der nächsten Seite können Sie das Aussehen des zu generierenden Reports bestimmen. Sie können die Standardschriftart festlegen sowie Linien zwischen den einzelnen Zeilen und Spalten zeichnen lassen:

Jetzt wurde der Reportentwurf erzeugt. Sie können nun entweder "Beenden" wählen, um wieder zum Reporteditor zu gelangen und den Entwurf zu speichern oder weiter zu bearbeiten, oder Sie wählen "Vorschau" um das Aussehen des Reports zu kontrollieren. Sie bekommen eine Voransicht des Reports am Bildschirm angezeigt, so wie der Report gedruckt würde. Wenn Ihnen das Ergebnis nicht gefällt können Sie den "Zurück" Schalter drücken und die Einstellungen des Reportexperten ändern.

Weiter zu Schritt 2: Editieren des Reportentwurfs


Schritt 2: Editieren des Reportentwurfs

Vorschau:

Sie haben nun den Reportentwurf vor sich im Reporteditor. Klicken Sie auf das "Vorschau" Icon [image] um sich einen ersten Eindruck vom Aussehen des Reports zu machen, falls Sie das noch nicht am Ende des Reportexperten getan haben.

Text der Spaltenüberschrift ändern:

Ein offensichtlicher Schönheitsfehler sind die Spaltenüberschriften über den Datenfeldern ("Addr1" und "Addr2"). Der Reportexperte hat hierfür automatisch die Feldnamen benutzt, was natürlich nicht immer zu optimalen Ergebnissen führt. Um das zu ändern verlassen Sie die Vorschau wieder und selektieren durch Klick mit der linken Maustaste das gewünschte Reportelement. In der Werkzeugleiste bekommen Sie nun den Elementtyp angezeigt, wie z.B. "Textfeld". Außerdem sehen Sie links vom Elementtyp den Inhalt des gewählten Feldes. Dabei handelt es sich um eine Eingabezeile, und Sie können sie mit der Maus anklicken und den Text des Textfeldes ändern.

Eine andere Möglichkeit besteht darin den Editier- bzw. Eigenschaftsdialog des gewählten Reportelements aufzurufen. Dazu klicken Sie das gewählte Element mit der rechten Maustaste an und wählen "Eigenschaften". Daraufhin erscheint bei einem Textfeld folgender Dialog:

Ändern Sie hier die Eigenschaften des Reportelements und geben Sie z.B. einen aussagekräftigeren Text für die Spaltenüberschrift im Report an. Verlassen Sie den Dialog anschließend über den "OK" Schalter.

Größe und Position ändern:

Wenn Ihnen die Position eines Reportelements nicht gefällt, dann klicken Sie es mit der linken Maustaste an und ziehen es bei gedrückt gehaltener Maustaste an den gewünschten Ort. Beachten Sie, daß Sie ein Element nicht vom zugehörigen Reportband herunterziehen können.

Zur Größenänderung eines Reportelements selektieren Sie das Element und klicken dann mit der linken Maustaste eines der acht kleinen Rechtecke am Rand des Elements an. Ziehen Sie bei gedrückt gehaltener Maustaste das Reportelement auf die gewünschte Größe.

Hinzufügen eines weiteren Reportelements:

Zur Übung wollen wir nur einen Kreis um die Reportüberschrift zeichnen. Dazu klicken Sie zuerst den Schalter zum Einfügen einer Form an.

Jetzt klicken Sie im Report auf das Band, welches die Reportüberschrift enthält. Die Position auf dem Band ist nicht so wichtig, da Sie den Kreis natürlich nachträglich noch beliebig verschieben können. Nachdem Sie das Reportband angeklickt haben öffnet sich der Eigenschaftsdialog der neuen Form. Wählen Sie  "Kreis" in der Typ-Liste aus:

Klicken Sie nun noch im Bereich "Pinsel" auf den Schalter "Farbe" und wählen Sie den Farbton Gelb aus, um den Kreis gelb auszufüllen.

Verlassen Sie dann den Eigenschaftsdialog über OK. Sie haben nun einen gelben Kreis auf dem Report eingefügt:

Unpraktisch ist, daß sich der Kreis vor der Überschrift befindet und diese verdeckt. Klicken Sie auf den Schalter [image] in der Werkzeugleiste am oberen Fensterrand, um den Kreis in den Hintergrund zu verschieben.  Verschieben Sie anschließend die Überschrift, so daß Sie über dem Kreis steht.

Nun stört noch, daß der weiße Hintergrund der Überschrift den Kreis verdeckt. Klicken Sie mit der rechten Maustaste auf das Textfeld, um seinen Eigenschaftsdialog zu öffnen. Markieren Sie die Eigenschaft "Transparent" und verlassen Sie den Dialog über "Ok". Nun ist der Hintergrund der Überschrift transparent (zwar nicht im Entwurfsmodus, aber in der Vorschau):

Zum Abschluß wollen wir uns noch um die genaue Ausrichtung der Überschrift kümmern, so daß diese genau im Mittelpunkt des Kreises steht. Wählen Sie dazu zuerst wie gewohnt das Textfeld aus. Anschließend halten Sie die Shift- bzw. Umschalttaste gedrückt und klicken auch noch den Kreis an. Durch die Umschalttaste geht die Selektion des alten Elements nicht verloren, wenn Sie ein neues Element auswählen. Dadurch können mehrere Elemente gleichzeitig selektiert werden, wenn diese sich auf dem gleichen Reportband befinden:

Drücken Sie nun den Schalter zum Ausrichten der Mittelpunkte der Reportelemente [image].

Wenn Sie möchten können Sie beide Reportelemente noch mit dem Schalter [image] auf dem Band zentrieren.

Weiter zu Schritt 3: Reportvorschau und Speichern


Schritt 3: Reportvorschau und Speichern

Während des Reportentwurfs können Sie sich über den Menüpunkt "Datei|Vorschau" oder den entsprechenden Schalter [image] jederzeit eine Vorschau anzeigen lassen, die den Report so auf dem Bildschirm darstellt, wie er später gedruckt wird. Auf diese Weise können Sie jederzeit das Aussehen des Reports kontrollieren.

Wenn Sie mit Ihrem Entwurf zufrieden sind speichern Sie ihn mit dem Schalter [image].


eine fortgeschrittene Adressenliste

Im vorigen Beispiel zum Erstellen einer einfachen Adreßliste haben Sie einen Report mit dem Reportexperten erstellt. Um die Arbeitsweise des Reportdesigners und den Aufbau eines Reports genauer zu verstehen werden wir nun einen Report von Grund auf ohne den Reportexperten erstellen. Die Beschreibung ist dabei etwas abstrakter gehalten als das vorige Beispiel.

Schritt 1: Erstellen eines neuen Reports

Schritt 2: Datenbank-Setup

Schritt 3: Detailband einfügen

Schritt 4: Gruppenband einfügen

Schritt 5: Seitenkopf, Titelband, und Summaryband einfügen


Schritt 1: Erstellen eines neuen Reports

Wählen Sie zum Erstellen eines neuen Report wie gewohnt "Datei|Neu" oder drücken Sie den entsprechenden Schalter.  Im Reportexperten ist standardmäßig die Option "Neuer leerer Report" aktiviert. Behalten Sie diese Einstellung bei und drücken Sie den "Weiter" Schalter. Sie haben nun einen gänzlich leeren Reportentwurf vor sich.

Weiter zu Schritt 2: Datenbank-Setup


Schritt 2: Datenbank-Setup

Hinzufügen:

Als erstes werden wir nun die benötigte Tabelle für den Report festlegen. Wählen Sie dazu den Menüpunkt "Report|Datenbanken...". Es erscheint das Dialogfenster zum Einstellen der Datenbanken. Wählen Sie den Schalter "Neue Datenbank" und wählen Sie die gewünschte Datenquelle für Ihren Report aus. Danach erscheint Ihre ausgewählte Tabelle in der Liste "Verfügbare Datenbanken".

Eigenschaften:

Sie können diesen Eintrag mit der Maus auswählen. Drücken Sie dann den Schalter "Eigenschaften". Ein Dialogfenster öffnet sich, in dem Sie der Tabelle einen Namen geben können. Es handelt sich dabei um den symbolischen Namen, den der Reporteditor verwendet. Standardmäßig setzt der Reportdesigner den Dateinamen der Tabelle ein, erweitert um den Zusatz "_Tabelle", also z.B. "CUSTOMER_Tabelle" für die Datei CUSTOMER.DB. Sie können hier z.B. "Kundentabelle" eingeben. Der Tabellenname hat keinerlei Einfluß auf den späteren Ausdruck, er dient lediglich einer besseren "Optik" beim Editieren des Reports.

Sie können außerdem die Sortierung der Tabelle vorgeben (falls die Tabelle über mehrere Indizes verfügt). Dadurch beeinflussen Sie die Reihenfolge, in der die Datensätze im Report später gedruckt werden.

Verlassen Sie nach Ihren Änderungen den Eigenschafts-Dialog mit "OK", um wieder zur Datenbankübersicht zurückzukehren.

Hauptdatenbank:

Da in einem Report mehrere Datenbanken benutzt werden können, müssen Sie festlegen, welche Datenbank die eigentliche Reportdatenbank ist, die durchlaufen wird. Dafür steht das Auswahl oben im Dialogfenster zur Verfügung. Wählen Sie dort Ihre gerade eingefügte Tabelle aus.

Weiter zu Schritt 3: Detailband einfügen


Schritt 3: Detailband einfügen

Detailband einfügen

Sie haben nun die Datenquelle für Ihren Report bestimmt. Jetzt muß noch das Reportlayout festgelegt werden. Das Kernstück eines Reports bildet das Detailband. Dieses Band wird für jeden Datensatz einmal gedruckt. Um ein Detailband einzufügen wählen Sie den Schalter [image] zum Einfügen eines Bandes und klicken dann auf den Report. Im nun erscheinenden Eigenschaftsfenster des Bandes wählen Sie "Detailband" als Bandtyp.

Datenfelder hinzufügen:

Nachdem Sie ein Detailband auf dem Report haben müssen natürlich noch die zu druckenden Datenfelder auf diesem Detailband abgelegt werden. Dazu wählen Sie den Schalter [image] zum Einfügen eines Datenfeldes und klicken dann auf die Position im Detailband, wo Sie das Datenfeld einfügen möchten. Beim Einfügen öffnet sich wie gewohnt der Eigenschaftsdialog. Wählen Sie das gewünschte Datenfeld aus, welches Sie drucken möchten und wählen Sie ggf. noch Ausrichtung, Schriftart, Farbe oder andere Optionen. Verlassen Sie anschließend das Dialogfenster über den OK-Schalter.

Sie können das Datenfeld nun noch auf dem Detailband frei mit der Maus verschieben oder dessen Größe ändern.

Verfahren Sie wie oben mit allen Datenfeldern, die sie ausdrucken möchten. Das Detailband könnte schließlich folgendermaßen aussehen:

Sie können die Ausrichtungsschalter benutzen, um die einzelnen Reportelemente korrekt zueinander auszurichten. Angenommen Sie möchten sicherstellen, daß alle Elemente die gleiche vertikale Position haben, dann selektieren Sie zuerst die auszurichtenden Elemente (mit [Shift] + linke Maustaste oder [Strg] + gedrückt gehaltener linker Maustaste zum Ziehen eines Selektionsrahmens) und klicken dann auf den entsprechenden Schalter [image].

Vorschau:

Lassen Sie sich ruhig zwischendurch immer wieder mit dem Schalter [image] eine Vorschau des Reports zeigen, um das Reportlayout zu kontrollieren.

Weiter zu Schritt 4: Groupband einfügen


Schritt 4: Gruppenband einfügen

Eine Adreßliste wird übersichtlicher, wenn Sie in einzelne Abschnitte eingeteilt wird. Dazu kann man z.B. vor jedem neuen Anfangsbuchstaben des Namens einen Absatz machen oder eine neue Seite beginnen. Zu diesem Zweck gibt es das Groupband bzw. Gruppenband:

Zum Einfügen eines Gruppenbandes klicken Sie auf den Schalter [image] und dann auf den Report. Im nun erscheinenden Eigenschaftsdialog geben Sie die Tabelle an, auf die sich das Groupband bezieht. In unserem Beispiel steht nur eine Tabelle zur Verfügung, nämlich die Tabelle des Adreßdaten, die auch gleichzeitig Haupttabelle des Reports ist. Jedesmal, wenn ein neuer Datensatz aus dieser Tabelle gedruckt werden soll prüft der Reportgenerator die Bedingung des Groupbands und druckt es aus, falls das Ergebnis des Ausdrucks ungleich dem Ergebnis des letzten Datensatzes ist. Wenn wir unsere Adreßliste anhand des ersten Buchstaben des Firmennamens gruppieren wollen, dann muß der Ausdruck z.B. "Copy(Kundentabelle.Company,1,1)" lauten.

Verlassen Sie anschließend das Dialogfenster mit "OK".

Sie haben nun ein Groupband auf dem Report eingefügt. Wenn Sie sich jetzt die Vorschau des Reports ansehen, dann wird bei jedem neuen Anfangsbuchstaben das Groupband eingefügt. Da im Moment keine Reportelemente auf dem Groupband sind wird nur ein entsprechender Leerraum eingefügt. Wenn Sie möchten können Sie noch Textfelder oder andere Reportelemente auf dem Groupband einfügen, z.B. ein berechnetes Feld mit dem gleichen Ausdruck wie das Groupband, also z.B. "Copy(Kundentabelle.Company,1,1)". Damit hätten Sie über jeder Gruppe eine Überschrift, welche die spezifische Eigenschaft der zu dieser Gruppen gehörenden Datensätze anzeigt.

Weiter zu Schritt 5: Seitenkopf, Titelband und Summaryband einfügen


Schritt 5: Seitenkopf, Titelband, und Summaryband einfügen

Wir haben nun schon eine recht brauchbare Reportdefinition, die in z.B. folgenden Report ausdruckt bzw. in der Vorschau anzeigt:

Was noch fehlt ist ein wenig schmückendes Beiwerk, nämlich ein Titel auf der ersten Seite sowie ein Seitenkopf mit Spaltenüberschriften für die einzelnen Datenfeldern. Außerdem ist eine Zusammenfassung (Summaryband) am Ende des Reports, z.B. über die Anzahl der gedruckten Datensätze, möglicherweise ganz praktisch.

Seitenkopf:

Widmen wir uns zunächst dem Seitenkopf. Auf jeder Seite des Ausdrucks sollen Überschriften über den einzelnen Spalten der Adressen erscheinen, d.h. über der Namensspalte soll groß und deutlich "Name" stehen usw., außerdem sollen die Spaltenüberschriften durch einen horizontalen Strich von der Auflistung getrennt werden.

Fügen Sie zunächst ein Band für den Seitenkopf ein, indem Sie den Schalter [image] benutzen und als Bandtyp "Seitenheader" wählen. Auf dem neuen Band fügen Sie nun Textfelder ein, deren Text dem Feld der jeweiligen Spalte auf dem Report entspricht:

Um eine größere Schriftart, Fettdruck oder eine ganz andere Schrift auszuwählen selektieren Sie alle Textfelder (mit [Shift] + linker Maustaste oder durch Ziehen eines Selektionsrahmen bei gedrückt gehaltener [Strg]- und linker Maustaste). Dann wählen Sie die gewünschten Schriftattribute mit der Werkzeugleiste am oberen Fensterrand aus.

Titelband:

Um einen Titel auf der ersten Seite des Reports zu erzeugen fügen Sie wie gewohnt ein Band auf dem Reportentwurf ein und setzen dessen Typ auf "Titelband". Fügen Sie dann ein Textfeld mit dem gewünschten Titel auf dem Report ein und wählen Sie eine Schriftgröße von z.B. 24 Punkt, um die Überschrift entsprechend groß zu gestalten. Fügen Sie außerdem über den Schalter [image] ein Systemfeld rechts oben auf dem Titelband ein. Als Typ für das Systemfeld wählen Sie "Datum/Zeit". Dadurch wird auf jedem Report Druckdatum und Uhrzeit festgehalten und Sie sehen auf einen Blick die Aktualität des Ausdrucks. Das Titelband sieht im Entwurf nun z.B. folgendermaßen aus:

Wenn Sie sich nun die Vorschau anzeigen lassen, dann werden Sie einen Schönheitsfehler bemerken: Der Seitenkopf erscheint auf der ersten Seite vor dem Titelband (wie auch schon im Reportentwurf). Das kann dadurch behoben werden, daß der Seitenkopf erst ab der zweiten Seite gedruckt wird und im Titelband die gleichen Reportelemente unterhalb des Titels plaziert werden wie im Seitenkopf. Das läßt sich relativ schnell mit folgenden Schritten erledigen: Aktivieren Sie als erstes für den Seitenkopf die Option "nicht auf erster Seite" im entsprechenden Eigenschaftsdialog (Seitenkopf selektieren und Doppelklick oder rechte Maustaste). Dann vergrößern Sie das Titelband ungefähr um die Größe des Seitenkopfes (Titelband selektieren und mit der Maus den unteren Rand greifen und aufziehen). Um nun nicht alle Elemente vom Seitenkopf erneut einzeln anlegen und positionieren zu müssen können Sie die Zwischenablage benutzen. Selektieren Sie dazu alle Elemente auf dem Seitenkopf ([Strg]+linke Maustaste gedrückt halten und Selektionsrahmen ziehen) und wählen Sie dann den Menüpunkt "Bearbeiten|Kopieren". Selektieren Sie dann das Titelband und wählen Sie "Bearbeiten|Einfügen". Die Elemente vom Seitenkopf werden nun auf dem Titelband eingefügt. Dabei bleiben sie ausgewählt, so daß Sie die neuen Elemente einfach mit der Maus gemeinsam an die gewünschte Position ziehen können.

Summaryband:

Um ein Summaryband einzufügen, welches am Ende des Reports gedruckt wird, fügen Sie ein Reportband ein und wählen den Bandtyp "Summary". Auf diesem Band können Sie z.B. ein Systemfeld vom Typ "Detailanzahl" einfügen und als zugehörigen Text "Anzahl der Datensätze: " eingeben. Am Ende des Reports wird dann z.B. "Anzahl der Datensätze: 78" ausgegeben, wenn Sie 78

Adressen gedruckt haben.

Der fertige Reportentwurf könnte folgendermaßen aussehen:

Dieser Entwurf würde z.B. folgenden Ausdruck erzeugen:


Standardbänder (Titel, Detail, ...)

Die Standard-Bandtypen werden alle über die gleiche Schaltfläche (siehe oben) eingefügt. Im Eigenschaftsdialog des Bandes kann dann festgelegt werden, um welchen Bandtyp es sich handelt.

Folgende Bänder stehen zur Auswahl:

•	Titel: Das Titelband wird auf der ersten Reportseite als Reporttitel gedruckt.

•	Seitenheader: Der Seitenheader bzw. die Kopfzeilen werden oben auf jede Reportseite gedruckt.

•	Spaltenüberschrift: Die Spaltenüberschrift findet bei mehrspaltigen Reports (einstellbar unter "Report|Optionen") Anwendung.

•	Detail: Das Detailband ist das Kernstück eines Reports. Es wird einmal für jeden Datensatz aus der Hauptdatenbank des Reports gedruckt.

•	Gruppenfooter: Gruppenfooter werden am Ende des Ausdrucks einer Gruppe gedruckt. Nähere Informationen zu Gruppen finden Sie unter der Beschreibung des Groupbands.

•	Summary: Ein Summaryband ist das Gegenstück zum Titelband und wird am Ende des Reports ausgedruckt.

•	Seitenfooter: Der Seitenfooter bzw. die Fußzeilen werden am unteren Rand jeder Seite des Reports ausgedruckt.

Die Eigenschaften dieser Bänder werden alle über den gleichen Eigenschaftsdialog eingestellt. Folgende Optionen stehen zur Verfügung:

Typ: Bandtyp (siehe oben)

Farbe:

Hier können Sie die Hintergrundfarbe des Reportbandes festlegen.

Drucken

•	nicht auf erster Seite: druckt das Band erst ab der zweiten Seite des Reports

•	nicht auf letzter Seite: unterdrückt den Ausdruck des Bandes auf der letzten Reportseite

•	nur gerade Seitennummern: druckt das Band nur auf geraden Seitennummern

•	nur ungerade Seitennummern: druckt das Band nur auf ungeraden Seitennummern

•	an Seitenende: druckt das Band am Seitenende anstelle der normalen Druckposition

•	Seitenvorschub erzwingen: wechselt auf eine neue Seite vor dem Ausdruck

•	Spaltenwechsel erzwingen: wechselt bei mehrspaltigen Reports in eine neue Spalte

Band nur drucken wenn Bedingung zutrifft:

Hier kann ein berechneter Ausdruck eingetragen werden, welcher einen logischen Wert, d.h. "wahr" oder "falsch" zurückgibt. Dieser Ausdruck wird dann vor jedem Druck des Bandes ausgewertet, und ggf. wird das Band nicht gedruckt. Drücken Sie auf den Schalter mit den zwei Punkten, der sich hinter der Eingabezeile befindet, um den gewünschten Ausdruck dialoggeführt aufzubauen.

Rahmen:

Um das Band kann ein Rahmen bzw. einzelne Linien gezeichnet werden. Sie können bestimmen, an welchen Seiten des Bandes ein Rahmen gezeichnet wird (oben, unten, links, rechts), in welcher Farbe und welcher Dicke diese Linien gezogen werden und ob durchgehend, gestrichelt oder gepunktet gezeichnet werden soll.


Subdetailband

Ein Subdetailband entspricht in der Funktion dem Detailband und es ist - wie der Name schon andeutet - dem Detailband untergeordnet. Wenn Sie zum Beispiel eine Liste von Audio-CDs ausdrucken, und zu jeder CD soll die Titelliste gedruckt werden, dann wird der CD-Name im Detailband gedruckt, und das Subdetailband verknüpfen Sie mit der Titeltabelle, so daß eine untergeordnete Liste unter jeder CD entsteht, die die Titel auflistet.

Beachten Sie, daß Sie zur Verwendung eines Subdetailbandes auch eine entsprechende Tabellenverknüpfung (Master-Detail) im Datenbank-Setup anlegen müssen.

Folgende Optionen stehen für das Subdetailband zur Verfügung:

Tabelle:

Datenquelle, die für das Subdetailband durchlaufen wird

Farbe:

Hier können Sie die Hintergrundfarbe des Reportbandes festlegen.

Master:

die übergeordnete Datenquelle, zu der die Subdetail-Informationen gedruckt werden sollen

Band nur drucken wenn Bedingung zutrifft: siehe Standardbänder

Drucken

•	vor Master-Detailband: druckt zuerst die Subdetail-Informationen und dann erst das Detailband der übergeordneten Master-Datenquelle

•	an Seitenende: druckt das Band am Seitenende anstelle der normalen Druckposition

•	Header/Footer bei leerer Datenmenge drucken: druckt auch dann Header- und Footerband, wenn die Tabelle keine zu druckenden Daten enthält

•	Seitenvorschub erzwingen: wechselt auf eine neue Seite vor dem Ausdruck

•	Spaltenwechsel erzwingen: wechselt bei mehrspaltigen Reports in eine neue Spalte

Headerband:

bestimmt ein Band, welches als Kopfzeile vor dem Ausdruck der Subdetail-Daten gedruckt wird

Footerband:

bestimmt ein Band, welches als Fußzeile nach dem Ausdruck der Subdetail-Daten gedruckt wird

Rahmen: siehe Standardbänder


Groupband

Ein Groupband dient zum Gruppieren von Datensätzen. Angenommen Sie drucken eine Adreßliste, sortiert nach dem Namen: Sie können ein Groupband benutzen, um vor jedem Wechsel des ersten Buchstabens einen Absatz oder eine Überschrift einzufügen.

Beispiel

Die internen Abläufe sind wie folgt: Vor jedem zu druckenden Datensatz wird geprüft, ob die Bedingung des Groupbandes zutrifft bzw. das Ergebnis des Ausdrucks wird berechnet . Dieses Ergebnis wird mit dem Ergebnis, welches beim vorigen Datensatz berechnet wurde verglichen. Unterscheiden sich beide Ergebnisse, dann wird das Groupband gedruckt, ansonsten nicht. Durch diese Vorgehensweise können sehr flexibel Gruppierungen vorgenommen werden, die durch die Bedingung frei definierbar sind.

Folgende Einstellungen stehen für ein Groupband zur Verfügung:

Master:

bestimmt das übergeordnete Band, zu dem die Gruppe gehört, d.h. entweder das Detailband oder ein Subdetailband.

Farbe:

Hier können Sie die Hintergrundfarbe des Reportbandes festlegen.

Bedingung:

Dieser Ausdruck bestimmt, wann das Groupband gedruckt wird, nämlich jedesmal, wenn sich das Ergebnis des Ausdrucks ändert.

Drucken

•	an Seitenende: druckt das Band am Seitenende anstelle der normalen Druckposition

•	Seitenvorschub erzwingen: wechselt auf eine neue Seite vor dem Ausdruck

•	Spaltenwechsel erzwingen: wechselt bei mehrspaltigen Reports in eine neue Spalte

Footerband:

wählen Sie hier ein Band, welches am Ende einer Gruppe gedruckt werden soll (bevor das nächste Groupband gedruckt wird)

Rahmen: siehe Standardbänder


Groupband Beispiel
Im folgenden Bild sehen Sie links einen Report mit Groupband (der groß gedruckte Anfangsbuchstabe befindet sich auf dem Groupband) und rechts ohne Groupband:


Childband

Ein Childband wird einem anderen Band angehängt und immer unter dieses übergeordnete Band gedruckt. Dadurch können Sie z.B. unter jedes Detailband ein Zusatzband drucken. Der Vorteil gegenüber der Methode, das übergeordnete Band einfach entsprechend größer zu machen und alle Elemente des Childbandes direkt auf dem Hauptband zu plazieren ist u.a., daß zwischen übergeordnetem Band und Childband ein Seitenumbruch durchgeführt werden kann und daß ein Childband unabhängig davon gedruckt werden kann, ob das übergeordnete Band gedruckt wurde oder nicht. Außerdem müssen Sie Childbands verwenden, wenn Sie ein Band mit in der Größe erweiterbaren Reportelementen (Datenfelder mit der Eigenschaft "Höhe automatisch anpassen") definiert haben, wobei andere Elemente entsprechend nach unten versetzt werden sollen. Plazieren Sie die zu versetzenden Elemente in einem solchen Fall auf einem Childband.

Folgende Einstellungen stehen zur Verfügung.

Übergeordnetes Band: das Band, an welches das Childband angehängt werden soll

Farbe:

Hier können Sie die Hintergrundfarbe des Reportbandes festlegen.

Drucken

•	nicht auf erster Seite: druckt das Band erst ab der zweiten Seite des Reports

•	nur gerade Seitennummern: druckt das Band nur auf geraden Seitennummern

•	nur ungerade Seitennummern: druckt das Band nur auf ungeraden Seitennummern

•	an Seitenende: druckt das Band am Seitenende anstelle der normalen Druckposition

•	Seitenvorschub erzwingen: wechselt auf eine neue Seite vor dem Ausdruck

•	Spaltenwechsel erzwingen: wechselt bei mehrspaltigen Reports in eine neue Spalte

Band nur drucken wenn Bedingung zutrifft: siehe Standardbänder

Rahmen: siehe Standardbänder


Datenfeld

Ein Datenfeld stellt Daten aus einer Datenbank bzw. Tabelle dar. Dabei kann es sich um numerische Daten, Zeichenketten oder auch mehrzeilige Texte (Memos) handeln.

Folgende Optionen stehen zur Verfügung:

Datenfeld:

Wählen Sie hier das Datenfeld aus, welches im Report dargestellt werden soll.

Ausrichtung:

Der Text kann für den Ausdruck wahlweise linksbündig, rechtsbündig oder zentriert dargestellt werden.

Formatierung:

Für numerische Felder können Sie hier die Formatierung festlegen.

Schriftart:

bestimmt die Schriftart des Textes auf dem Report

Farbe:

legt die Hintergrundfarbe des Reportelements fest (die Farbe der Schrift selbst wird über den Schalter "Schriftart" eingestellt)

Automatischer Zeilenumbruch:

Wenn diese Option aktiviert ist und der Text des Reportelements paßt bei der gegebenen Elementgröße nicht in eine Zeile, dann wird wie bei einer Textverarbeitung ein Zeilenumbruch durchgeführt.

Transparent:

Mit dieser Einstellung bleibt der Hintergrund des Elementtextes durchsichtig und Sie können den Text z.B. über einem Bild plazieren ohne daß dieses verdeckt wird.

Größe automatisch:

Ist diese Option eingeschaltet, dann paßt sich die Größe des Reportelements automatisch dem enthaltenen Text an. Ansonsten wird der Text abgeschnitten oder ein Zeilenumbruch wird durchgeführt, falls die Breite des Elements nicht ausreichend ist.

Höhe automatisch:

Diese Option ist sinnvoll, wenn Sie Memofelder, d.h. mehrzeilige Textfelder, drucken wollen. Die Höhe des Reportelements wird dann automatisch so groß gemacht, daß alle Zeilen dargestellt werden können. Gegebenenfalls wird auch das Reportband in der Höhe entsprechend angepaßt.

Wiederholte Werte unterdrücken

Durch diese Einstellung können Sie festlegen, daß ein Datenfeld nur dann gedruckt wird, wenn sich dessen Inhalt vom letzten vorherigen Wert unterscheidet. Ansonsten wird der Ausdruck unterdrückt.

Nicht drucken wenn Wert gleich 0 ist

Diese Option unterdrückt bei numerischen Feldern den Ausdruck, wenn deren Wert gleich Null ist.

Nach Seitenumbruch erneut drucken

Wenn die Option "wiederholte Werte unterdrücken" aktiviert ist, dann können Sie mit dieser Einstellung bestimmen, daß ein Datenfeld auf jeden Fall dann neu gedruckt wird, wenn eine neue Seite begonnen wird, auch wenn der Ausdruck normalerweise aufgrund gleicher Werte unterdrückt würde.

Nach Gruppenwechsel erneut drucken

entspricht der Option "nach Seitenumbruch erneut drucken" für Gruppen


Textfeld

Ein Textfeld enthält einen Text, der so wie im Reportentwurf dargestellt auf dem Report gedruckt wird.

Folgende Einstellungen sind verfügbar:

Text:

Der auszudruckende Text. Sie können hier nur eine Zeile eingeben. Für mehrzeiligen Text benutzen Sie bitte ein Memo.

Rotation:

Mit dieser Einstellung können Sie den Text im Bereich von 0 bis 360 Grad drehen. Ein Wert von 90 bewirkt eine vertikale Darstellung des Textes.

Schriftart:

bestimmt die Schriftart des Textes auf dem Report

Farbe:

legt die Hintergrundfarbe des Reportelements fest (die Farbe der Schrift selbst wird über den Schalter "Schriftart" eingestellt)

Ausrichtung:

Der Text kann für den Ausdruck wahlweise linksbündig, rechtsbündig oder zentriert dargestellt werden.

Automatischer Zeilenumbruch:

Wenn diese Option aktiviert ist und der Text des Reportelements paßt bei der gegebenen Elementgröße nicht in eine Zeile, dann wird wie bei einer Textverarbeitung ein Zeilenumbruch durchgeführt.

Größe automatisch anpassen:

Ist diese Option eingeschaltet, dann paßt sich die Größe des Reportelements automatisch dem enthaltenen Text an. Ansonsten wird der Text abgeschnitten oder ein Zeilenumbruch wird durchgeführt, falls die Breite des Elements nicht ausreichend ist.

Transparent:

Mit dieser Einstellung bleibt der Hintergrund des Elementtextes durchsichtig und Sie können den Text z.B. über einem Bild plazieren ohne daß dieses verdeckt wird.


Memo

Ein Memofeld ist ein mehrzeiliges Textfeld.  Wie ein Textfeld stellt es den Text in einer Schriftart und Farbe dar. Wenn Sie formatierten Text ausdrucken möchten dann können Sie ein Richtextfeld benutzen.

Verfügbare Einstellungen:

Text:

der auszudruckende Text

Schriftart:

bestimmt die Schriftart des Textes auf dem Report

Farbe:

legt die Hintergrundfarbe des Reportelements fest (die Farbe der Schrift selbst wird über den Schalter "Schriftart" eingestellt)

Ausrichtung:

Der Text kann für den Ausdruck wahlweise linksbündig, rechtsbündig oder zentriert dargestellt werden.

Automatischer Zeilenumbruch:

Wenn diese Option aktiviert ist und der Text des Reportelements paßt bei der gegebenen Elementgröße nicht in eine Zeile, dann wird wie bei einer Textverarbeitung ein Zeilenumbruch durchgeführt.


Bilddatei

Eine Bilddatei kann eine beliebige BMP-Datei sein, die in den Report eingefügt wird.


Bild aus Datenbank

Während ein Datenfeld zur Darstellung von Textinformationen aus einer Datenbank verwendet wird, dient dieses Reportelement zum Anzeigen von Grafiken bzw. Bitmaps aus einer Datenbank.

Folgende Einstellungen stehen zur Verfügung:

Datenfeld:

legt das zu verwendende Datenfeld fest (enthält dieses kein Bild, dann wird nichts gedruckt).

Bildgröße automatisch anpassen:

Ist diese Option aktiviert, dann wird das Bild so gedehnt oder gestaucht, daß es genau in den vorgegebenen Platz des Reportelements paßt. Ansonsten wird das Bild bei zu wenig Platz abgeschnitten bzw. überflüssiger Platz bleibt leer.

Bild zentrieren:

Ist das Reportelement größer als das eigentliche Bild, dann wird das Bild normalerweise in der linken oberen Ecke dargestellt. Mit dieser Option wird das Bild im Reportelement zentriert.

Ausrichtung:

richtet das Bild auf dem Reportband aus


berechnetes Feld

Ein berechnetes Feld dient zur Darstellung von Text oder Daten, die sich aus einem Ausdruck bzw. einer Formel berechnen. Sie können mathematische Berechnungen anstellen, Zeichenketten aus Datenfeldern zusammensetzen und vieles mehr.

Ausdruck:

die Formel zur Berechnung des zu druckenden Wertes (siehe "berechneter Ausdruck").

Formatierung:

Für numerische Felder können Sie hier die Formatierung festlegen.

Schriftart:

bestimmt die Schriftart des Textes auf dem Report

Farbe:

legt die Hintergrundfarbe des Reportelements fest (die Farbe der Schrift selbst wird über den Schalter "Schriftart" eingestellt)

Master:

Wenn Ihre Formel zur Berechnung des Feldwertes aus einer Aggregatfunktion besteht, dann müssen Sie "Master" auf die Tabelle setzen, die zur Aktualisierung der Berechnung dient. Bei jedem neuen Datensatz wird dann die Berechnung ausgeführt.

Ausrichtung:

Der Text kann für den Ausdruck wahlweise linksbündig, rechtsbündig oder zentriert dargestellt werden.

Rotation:

Mit dieser Einstellung können Sie den Text im Bereich von 0 bis 360 Grad drehen. Ein Wert von 90 bewirkt eine vertikale Darstellung des Textes.

Größe automatisch anpassen:

Ist diese Option eingeschaltet, dann paßt sich die Größe des Reportelements automatisch dem enthaltenen Text an. Ansonsten wird der Text abgeschnitten oder ein Zeilenumbruch wird durchgeführt, falls die Breite des Elements nicht ausreichend ist.

Höhe automatisch anpassen:

Die Höhe des Reportelements wird automatisch so groß gemacht, daß alle Zeilen dargestellt werden können. Gegebenenfalls wird auch das Reportband in der Höhe entsprechend angepaßt.

nach Ausdruck zurücksetzen:

Diese Option ist sinnvoll bei Berechnungen wie Summenbildung, Zählen von Datensätzen usw., denn hiermit können Sie nachdem das berechnete Feld ausgedruckt wurde die Berechnung wieder bei Null starten lassen.

Automatischer Zeilenumbruch:

Wenn diese Option aktiviert ist und der Text des Reportelements paßt bei der gegebenen Elementgröße nicht in eine Zeile, dann wird wie bei einer Textverarbeitung ein Zeilenumbruch durchgeführt.

Transparent:

Mit dieser Einstellung bleibt der Hintergrund des Elementtextes durchsichtig und Sie können den Text z.B. über einem Bild plazieren ohne daß dieses verdeckt wird.


Aggregatfunktion


Form

Mit diesem Reportelement können Sie (horizontale und vertikale) Linien sowie Kreise und Rechtecke zeichnen. Folgende Einstellungen stehen zur Verfügung:

Typ:

bestimmt die Art der zu zeichnenden Form. Zur Verfügung stehen Kreis, Rechteck, horizontale Linie, vertikale Linie sowie Rechtecklinien oben/unten bzw. links/rechts.

Pinsel

•	Stil: diverse Arten einen Kreis oder ein Rechteck auszufüllen

•	Farbe: die Füllfarbe

Stift

•	Dicke: bestimmt die Liniendicke der Form

•	Modus: diverse Arten die Linien zu zeichnen

•	Stil: durchgehende, gepunktete oder gestrichelte Linien


Systemfeld

Ein Systemfeld dient zur Darstellung diverser Systemdaten wie z.B. aktuelles Datum und Uhrzeit, momentane Seitennummer des Report usw..

Verfügbare Einstellungen:

Text:

Dieser Text wird vor den eigentlichen Systemdaten gedruckt. Wenn Sie z.B. das Datum drucken, dann könnte der Text "Heutiges Datum:" lauten.

Typ:

Die Art des Systemfeldes. Folgende Typen stehen zur Verfügung:

•	Datum: das aktuelle Datum zum Zeitpunkt des Ausdrucks

•	Zeit: die aktuelle Uhrzeit zum Zeitpunkt des Ausdrucks

•	Datum/Zeit: aktuelles Datum und Uhrzeit

•	Detailanzahl: Gesamtzahl der zu druckenden Datensätze

•	Detailzähler: Nummer des aktuellen Datensatzes

•	Seitennummer: die aktuelle Seitennummer im Reportausdruck

•	Reporttitel: der Reporttitel (einstellbar unter "Report, Optionen")

Größe automatisch anpassen:

Ist diese Option eingeschaltet, dann paßt sich die Größe des Reportelements automatisch dem enthaltenen Text an. Ansonsten wird der Text abgeschnitten oder ein Zeilenumbruch wird durchgeführt, falls die Breite des Elements nicht ausreichend ist.

Transparent:

Mit dieser Einstellung bleibt der Hintergrund des Elementtextes durchsichtig und Sie können den Text z.B. über einem Bild plazieren ohne daß dieses verdeckt wird.

Schriftart:

bestimmt die Schriftart des Textes auf dem Report

Farbe:

legt die Hintergrundfarbe des Reportelements fest (die Farbe der Schrift selbst wird über den Schalter "Schriftart" eingestellt)


Richtext

Hinweis: Das Richtext Reportelement ist nur unter 32-bit Programmen, d.h. Programmen für Windows 95 oder Windows NT verfügbar.

Richtext bezeichnet einen mehrzeiligen Text. Im Gegensatz zum Memo kann der Text aber mit verschiedenen Schriften, Schriftgrößen, Farben und Formatierungen ausgestattet sein. Drücken Sie im Eigenschaftsdialog den Schalter "Editor", um einen Texteditor mit entsprechenden Funktionen anzuzeigen.

Ausrichtung:

bestimmt die Ausrichtung des Textes, falls keine Ausrichtung im Editor festgelegt wurde

Schriftart:

bestimmt die Schriftart des Textes, falls keine Schriftart im Editor festgelegt wurde

Farbe:

bestimmt die Farbe des Textes, falls keine Farbe im Editor festgelegt wurde

Höhe automatisch anpassen:

Mit dieser Einstellung wird die Höhe des Reportelements automatisch so angepaßt, daß der komplette Text dargestellt wird.


Richtext aus Datenbank

Hinweis: Das Richtext Reportelement ist nur unter 32-bit Programmen, d.h. Programmen für Windows 95 oder Windows NT verfügbar.

Dieses Reportelement stellt Richtext dar, der sich in einem Datenfeld befindet. Folgende Einstellungen stehen zur Verfügung:

Datenfeld:

Wählen Sie hier das Datenfeld aus, welches im Report dargestellt werden soll.

Ausrichtung:

bestimmt die Ausrichtung des Textes, falls keine Ausrichtung im Editor festgelegt wurde

Schriftart:

bestimmt die Schriftart des Textes, falls keine Schriftart im Editor festgelegt wurde

Farbe:

bestimmt die Farbe des Textes, falls keine Farbe im Editor festgelegt wurde

Höhe automatisch anpassen:

Mit dieser Einstellung wird die Höhe des Reportelements automatisch so angepaßt, daß der komplette Text dargestellt wird.


Chart

Hinweis: Das Chartelement ist nicht in allen Anwendungen verfügbar. Fragen Sie ggf. Ihren Softwarehersteller.

Mit dem Chartelement können Diagramme und Graphen dargestellt werden. Hierfür stehen viele verschiedene Einstellungsmöglichkeiten zur Verfügung, die aber den Rahmen dieser Anleitung sprengen würden. Setzen Sie sich ggf. mit Ihrem Softwarehersteller in Verbindung.


Formatierung von numerischen Feldern

Numerische Felder sowie Datum- und Zeitfelder können auf verschiedene Weise dargestellt werden. Um diese Darstellung zu kontrollieren können Sie einen Formatstring angeben, der die gewünschte Formatierung symbolisch darstellt:

numerische Felder:

Bezeichner	Ergebnis
0	Platzhalter für Ziffer. Wenn der formatierte Wert an der Stelle eine Ziffer enthält, an der im Format-String das Zeichen 0 (Null) steht, wird die betreffende Ziffer in den Ausgabe-String übernommen. Andernfalls erscheint im Ausgabe-String an dieser Position eine Null.
#	Platzhalter für Ziffer. Wenn der formatierte Wert an der Stelle eine Ziffer enthält, an der im Format-String das Zeichen # steht, dann wird diese Ziffer in den Ausgabe-String übernommen. Andernfalls wird an der betreffenden Position im Ausgabe-String nichts gespeichert.
.	Dezimalpunkt. Der erste Punkt im Format-String bestimmt die Position des Dezimaltrennzeichens im formatierten Wert. Alle weiteren Punktzeichen werden ignoriert. Das Zeichen, das im Ausgabe-String tatsächlich als Dezimaltrennzeichen erscheint, wird von der globalen Variablen DecimalSeparator bestimmt. Der Standardwert von DecimalSeparator wird in der Windows-Systemsteuerung unter Ländereinstellungen definiert (Register Eigenschaften von Ländereinstellungen, Registerkarte Zahlen).
,	Tausendertrennzeichen. Wenn der Format-String ein oder mehrere Kommazeichen enthält, werden im Ausgabe-String alle Stellen links vom Dezimaltrennzeichen in Dreiergruppen gegliedert, die jeweils durch ein Tausendertrennzeichen getrennt sind. Um zu kennzeichnen, daß ein Tausendertrennzeichen gewünscht wird, ist es nicht von Bedeutung, wieviele Kommas der Format-String enthält. Auch die Position ist beliebig. Das Zeichen, das im Ausgabe-String tatsächlich als Tausendertrennzeichen erscheint, wird von der globalen Variablen ThousandSeparator bestimmt. Der Standardwert von ThousandSeparator  wird in der Windows-Systemsteuerung unter Ländereinstellungen definiert (Register Eigenschaften von Ländereinstellungen, Registerkarte Zahlen).
E+	Wissenschaftliche Notation. Sobald der Format-String einen der Bezeichner "E+", "E-", "e+" oder "e-" enthält, wird die formatierte Zahl in wissenschaftlicher Notation dargestellt. Unmittelbar nach "E+", "E-", "e+" oder "e-" kann eine Gruppe von bis zu vier Nullen folgen, mit denen die minimale Stellenzahl im Exponenten festgelegt wird. Die beiden Kürzel "E+" und "e+" bewirken, daß sowohl positive als auch negative Exponenten mit einem Vorzeichen versehen werden. Die Kürzel "E-" und "e-" bewirken, daß nur negative Exponenten ein Vorzeichen erhalten.
'xx'/"xx'	Alle Zeichen, die in halbe oder ganze Anführungszeichen eingeschlossen sind, werden unverändert in den Ausgabe-String übernommen und beeinflussen die Formatierung nicht.
;	Ein Semikolon trennt im Format-String die Bereiche für positive und negative Zahlen.
Innerhalb des Format-Strings bestimmt die Position des am weitesten links stehenden Nullzeichens zusammen mit der Position des am weitesten rechts stehenden Nullzeichens (bezogen auf das Dezimaltrennzeichen) die Anzahl der Stellen, die immer im Ausgabe-String angezeigt werden.

Die darzustellende Zahl wird bei der Formatierung stets auf die Anzahl von Nachkommastellen gerundet, die durch die Anzahl der Ziffern-Platzhalter ("0" oder "#") rechts vom Dezimaltrennzeichen vorgegeben ist. Fehlt im Format-String ein Dezimaltrennzeichen, wird der formatierte Wert auf die nächs te ganze Zahl gerundet.

Wenn die festgelegte Anzahl von Vorkommastellen nicht ausreicht, um eine Zahl darzustellen, werden vor dem ersten Ziffern-Platzhalter zusätzliche Stellen eingefügt.

Das Semikolon gliedert den Format-String in bis zu drei Teile, in denen jeweils eine eigene Formatierung für positive und negative Zahlen sowie für Nullen definiert werden kann.

•	Ein Abschnitt: Der Format-String gilt für alle Werte.

•	Zwei Abschnitte: Der erste Abschnitt gilt für positive Werte, der zweite für negative.

•	Drei Abschnitte: Der erste Abschnitt gilt für positive Werte, der zweite für negative und der dritte für Nullen.

Wenn der Abschnitt für negative Werte oder der Abschnitt für Nullen leer ist, wenn also zwischen den Semikolons nichts steht, wird statt dessen der Abschnitt für positive Werte verwendet.

Wenn der Abschnitt für positive Zahlen leer ist oder der gesamte Format-String leer ist, erfolgt eine standardisierte Gleitkommaformatierung mit 15 signifikanten Stellen. Das gleiche gilt, wenn der Wert mehr als 18 Vorkommastellen besitzt und im Format-String keine wissenschaftliche Notation festgelegt wurde.

Datum/Zeit:

Aus folgenden Formatbezeichnern können Sie eine Formatierung für Datum- und Zeitfelder zusammensetzen:

Bezeichner	Ergebnis
c	Das Datum im kurzen Format entsprechend der Windowseinstellung, gefolgt von der Zeit im von Windows festgelegten Langformat. Die Zeit wird nicht angezeigt, wenn der Nachkommaanteil des Datums-/Zeitwertes gleich Null ist.
d	Der Tag als Zahl ohne führende Null (1-31).
dd	Der Tag als Zahl mit führender Null (01-31).
ddd	Der Tag als Abkürzung (So-Sa) unter Verwendung der von der Windowseinstellungen
dddd	Der Tag als vollständiger Name (Sonntag-Samstag) unter Verwendung der Windowseinstellung
ddddd	Das Datum im kurzen Standardformat
dddddd	Das Datum im langen Standardformat
m	Der Monat als Zahl ohne führende Null (1-12). Wenn der Bezeichner m unmittelbar auf ein h oder hh folgt, wird nicht der Monat, sondern die Minute angezeigt.
mm	Der Monat als Zahl mit führender Null (01-12). Wenn der Bezeichner mm unmittelbar auf ein h oder hh folgt, wird nicht der Monat, sondern die Minute angezeigt.
mmm	Der Monat als Abkürzung (Jan-Dez) unter Verwendung der Standardbezeichnungen
mmmm	Der Monat als vollständiger Name (Januar-Dezember) unter Verwendung der Standardbezeichnungen
yy	Das Jahr als zweistellige Zahl (00-99).
yyy	Das Jahr als vierstellige Zahl (0000-9999).
h	Die Stunde ohne führende Null (0-23).
hh	Die Stunde mit führender Null (00-23).
n	Die Minute ohne führende Null (0-59).
nn	Die Minute mit führender Null (00-59).
s	Die Sekunde ohne führende Null (0-59).
ss	Die Sekunde mit führender Null (00-59).
t	Die Zeit im kurzen Standardformat
tt	Die Zeit im langen Standardformat
am/pm	Die Zeit im 12-Stunden-Format für den vorangehenden Bezeichner h oder hh, gefolgt von "am" für die Stunden vor Mittag oder "pm" für die Stunden nach Mittag. Für die Bezeichner am/pm können sowohl Groß- oder Kleinbuchstaben als auch beide gemeinsam verwendet werden. Das Ergebnis wird entsprechend angezeigt.
a/p	Die Zeit im 12-Stunden-Format für den vorangehenden Bezeichner h oder hh, gefolgt von "a" für die Stunden vor Mittag oder "p" für die Stunden nach Mittag. Für die Bezeichner a/p können sowohl Groß- oder Kleinbuchstaben als auch beide gemeinsam verwendet werden.
ampm	Die Zeit im 12-Stunden-Format für den vorangehenden Bezeichner h oder hh, gefolgt vom Inhalt der globalen Variablen TimeAMString für die Stunden vor Mittag oder dem Inahlt der globalen Variablen TimePMString für die Stunden nach Mittag.
/	Das in der Windows Standardtrennzeichen für Datumsangaben.
:	Das in der Windows Standardtrennzeichen für Zeitangaben.
'xx'/"xx"	Zeichen, die in halbe oder ganze Anführungszeichen eingeschlossen sind, werden ohne weitere Formatierung angezeigt.

Als Formatbezeichner können Sie sowohl Groß- als auch Kleinbuchstaben verwenden. Das Ergebnis ist in beiden Fällen dasselbe.


berechneter Ausdruck

Ausdrücke dienen zur Berechnung von Zahlenwerten, Zeichenketten oder logischen bzw. boolschen Werten ("wahr" oder "falsch", "True" oder "False"). Hierfür stehen ähnlich wie bei einer Programmiersprache (angelehnt an die Programmiersprache Pascal) Operatoren und Funktionen zur Verfügung, aus denen Sie einen Ausdruck zusammensetzen können. Dadurch können Sie eine Vielzahl von Berechnungen durchführen. Sie können mathematische Berechnungen mit Datenfelder anstellen, z.B. die Mehrwertsteuer eines Nettobetrages errechnen, oder Sie können mehrere Datenfelder zu einem einzigen Feld zusammensetzen.

Beachten Sie, daß der Ausdruck, der bei einem Reportband verwendet werden kann, um den Druck des Bandes zu unterbinden, einen logischen Wert zurückliefern muß, während das Reportelement "berechnetes Feld" eine Zeichenkette oder Zahl als Ergebnis erwartet, genauso wie das Groupband.

Ausdrücke definieren

Die Syntax von QuickReport-Ausdrücken ähnelt den Ausdrücken in Object-Pascal. In der folgenden Tabelle sind die unterstützten Operatoren aufgezählt:

Operator	Beschreibung
+	Addition
-	Subtraktion
*	Multiplikation
/	Division
()	Klammern
And	Logisches UND
Or	Logisches ODER
Not	Logisches NICHT
=	Gleichheit
<	Kleiner als
>	Größer als
>=	Kleiner oder gleich
<=	Größer oder gleich
<>	Ungleich

QuickReport bietet die folgenden Standardfunktionen:

Funktion	Beschreibung
Date	Liefert das aktuelle Datum als String
Time	Liefert die aktuelle Zeit als String
Str(Zahl)	Konvertiert das numerische Argument in einen String
Copy(Str,s,l)	Liefert einen Substring aus Str (vom s-ten Zeichen an, l Zeichen lang)
Int(Zahl)	Liefert den ganzzahligen Anteil des numerischen Arguments
Frac(Zahl)	Liefert die Nachkommastellen des numerischen Arguments
If(Ausdr, r1, r2)	Liefert, abhängig von dem booleschen Wert Ausdr entweder r1 oder r2
TypeOf(Ausdr)	Liefert den Datentyp von Ausdr
Sqrt(Zahl)	Ermittelt die Quadratwurzel von Zahl
True	Logischer Wert True
False	Logischer Wert False
Sum(Ausdr)	Liefert die Summe von Ausdr
Count	Ermittelt die Anzahl von Objekten
Min(Ausdr)	Ermittelt den kleinsten Wert von Ausdr
Max(Ausdr)	Ermittelt den größten Wert von Ausdr
Average(Ausdr)	Ermittelt den Durchschnittswert von Ausdr

Das Auswertungsmodul arbeitet mit vier Datentypen: Strings (Zeichenketten), Integer (ganze Zahlen), Float (Kommazahlen) und Boolean (logischer Wert). Binäre Daten und Memo-Felder in Ausdrücken werden nicht unterstützt. In der folgenden Tabelle finden Sie eine Zusammenstellung, wie Datenbankfelder in die Report-Datentypen konvertiert werden:

Datentyp	Feldtyp

String	String-Felder, Datumsfelder

Integer	SmallInt-Felder, Byte-Felder, Integer-Felder

Float	Fließkommafelder, Währungsfelder

Boolean	Logische Felder

Datenbankfelder in Ausdrücken verwenden

Jedes Feld einer Tabelle, die in Ihrem Report oder in einem Datenmodul Ihrer Anwendung referenziert wird, kann in einen Ausdruck aufgenommen werden. Auf Feldnamen beziehen Sie sich entweder direkt über die Eigenschaft Name oder über den Namen der Tabelle, gefolgt von einem Punkt und dem Namen des Feldes (z.B. Kunden.Name). Wenn Sie keinen Tabellennamen angeben, dann sucht QuickReport in allen verfügbaren Datenquellen und verwendet das erste Vorkommen. Zuerst werden dabei die Datenquellen durchsucht, die im Reportformular verwendet werden, darauf auch die restlichen.

Die aktuelle Version des Auswertungsmoduls unterstützt keine Feldnamen, die spezielle Zeichen, wie Leerzeichen, "/", Punkt, Dollarzeichen usw. enthalten.

Strings in Ausdrücken verwenden

Strings in Ausdrücken müssen in einfache Anführungszeichen gesetzt werden. Der folgende Ausdruck ist gültig:

'Computer sind toll!'

Ein String darf maximal 255 Zeichen lang sein.

Beispiele für Ausdrücke

In der folgenden Tabelle finden Sie Beispiele für Ausdrücke:

Ausdruck	Beschreibung

1	Integer-Konstante, Wert 1

1.5	Fließkommakonstante, Wert 1,5

'Delphi'	String-Konstante, Wert 'Delphi'

True	Logische Konstante, Wert True

1 + 2	Numerische Berechnung, Ergebnis 3

2 * (3 + 2.5)	Numerische Berechnung, Ergebnis 11

'Computer' + ' sind toll'	String-Verkettung, Ergebnis 'Computer sind toll'

Name	Ermittelt den Wert des Feldes Name, wenn vorhanden

Kunden.Name	Ermittelt den Wert des Feldes Name in der Tabelle Kunden

Copy(Kunden.Name,1,2)	Liefert die ersten zwei Zeichen des Feldes Name in der Tabelle Kunden

Name + ' ' + Kontakt	Verkettet den Wert des Feldes Name mit einem Leerzeichen und dem Wert des Feldes Kontakt

SummeBezahlt * Steuer / 100	Numerische Berechnung von Feldwerten

'Gedruckt '+ Date	String-Verkettung

'Gesamtsumme ' + str(SummeBezahlt)	String-Verkettung

if(SummeBezahlt > 5000, 'Große Bestellung', 'Kleine Bestellung')	Liefert 'Große Bestellung', wenn SummeBezahlt größer als 5000 ist, ansonsten 'Kleine Bestellung'

if(PruefFeld, 'X', ' ')	Druckt ein X, wenn PruefFeld True ist

Ausdrücke per Dialog definieren

Ausdrücke können Sie entweder direkt in das jeweilige Editierfeld eingeben, oder Sie drücken den Schalter ".." rechts daneben. Dann wird ein Dialog angezeigt, über den durch einfaches Zusammenklicken der Elemente mit der Maus ein Ausdruck definiert werden kann. Wenn eine benutzte Funktion wie z.B. Copy oder Sum Parameter benötigt, dann wird das Dialogfenster erneut geöffnet und der Parameter wird als Ausdruck separat definiert.


Parameter für SQL Abfragen

Wenn Sie sich mit SQL auskennen, dann wissen Sie, daß SQL auch Parameter in Abfragen erlaubt. Auch im Reportdesigner können Sie diese Parameter verwenden. Folgendes Beispiel zeigt eine solche Abfrage, in der der Parameter "Kundennr" (wie üblich durch einen Doppelpunkt eingeleitet) verwendet wird:

Wenn Sie jetzt auf den "Parameter" Schalter drücken öffnet sich folgender Dialog:

Sie können nun die Art des Parameters bestimmen:

Wert: Hier können Sie direkt den Wert des Parameters eingeben. Dieser Wert wird dann in der Abfrage während des Reports verwendet.

Wert vor dem Druck abfragen: Mit dieser Einstellung wird vor jedem Ausdruck des Reports ein Eingabefenster angezeigt, in dem der Wert des Parameters eingegeben werden muß. Auf diese Weise können Sie z.B. jeden Report vor dem Ausdruck individuell filtern.

Wert von Master übernehmen: Diese Option besagt, daß der Wert des Parameters von einer übergeordneten Datenquelle übernommen wird, d.h. es handelt sich bei dem Parameter um einen Feldnamen in einer anderen Abfrage oder Tabelle. Hierzu muß im Einstellungsdialog der aktuellen Abfrage die Option "Master" entsprechend korrekt gesetzt sein.


Menüpunkt "Ansicht|Optionen"

Gitter anzeigen

Wenn Sie diese Option einschalten, dann wird im Entwurfsmodus ein Gitter angezeigt, um das Ausrichten und Positionieren von Reportelementen zu vereinfachen. Die Art des Gitters ist dabei abhängig von der eingestellten Maßeinheit.

Einheit

Geben Sie hier an, in welcher Maßeinheit der Reportdesigner arbeiten soll. Zur Verfügung stehen Millimeter, Inch und Zeichen.

Bändernamen zeigen

Diese Einstellung dient zum Anzeigen der Bändernamen während des Reportentwurfs. Natürlich werden die Bändernamen nicht ausgedruckt.

Schrift

bestimmt die Schriftart und Schriftfarbe der Bändernamen

Gittergröße

Diese Einstellungen bestimmt, in welchen Schritten Reportelemente automatisch ausgerichtet werden. Dadurch lassen sich Reportelemente einfacher auf gleicher X oder Y Position ausrichten. Hinweis: Trotz Gittergrößen größer als 1 können Sie, indem Sie die Umschalttaste gedrückt halten, die Reportelemente auch noch punktweise verschieben.

Gittergröße für Tastatur

entspricht der Einstellung "Gittergröße", ist aber für das Verschieben von Reportelementen mit den Cursortasten zuständig

Rahmen um Reportelemente zur Entwurfszeit

Diese Option dient dazu, einen Rahmen um Reportelemente während des Reportentwurfs zu zeichnen. Dadurch ist die Größe der einzelnen Reportelemente deutlicher zu sehen.


Menüpunkt "Report|Optionen"

Report-Titel

bestimmt den Titel des Reports. Dieser Titel erscheint beim Ausdruck im Druckmanager von Windows und kann als Systemfeld auf dem Report selbst benutzt werden.

Hochformat/Querformat

Hier legen Sie fest, ob der Report im Hochformat oder Querformat ausgedruckt werden soll. Entsprechend ändert sich der verfügbare Platz im Reportdesigner.

Schriftart

Die hier angegebene Schriftart wird als Standardschrift für alle Reportelemente benutzt, für die nicht ausdrücklich eine andere Schriftart ausgewählt wurde.

Papiergröße

bestimmt die Papiergröße des Reports. Beachten Sie, daß nicht jeder Druckertreiber auch jede Papiergröße unterstützt.

Breite, Länge

Diese Maße bestimmen das Papierformat, falls Sie als Papiergröße "Benutzerdefiniert" ausgewählt haben.

Seitenränder Oben, Unten, Links, Rechts

Hier bestimmen Sie den Seitenrand beim Ausdruck. Beachten Sie, daß der minimal mögliche Seitenabstand von Ihrem Drucker abhängt.

Spaltenabstand

Falls Ihr Report mehrspaltig ist bestimmen Sie hier den freien Platz zwischen den einzelnen Spalten.

Spaltenanzahl

Geben Sie hier an, über wieviele Spalten der Report gedruckt werden soll.

Rahmen

Hier können Sie einen Rahmen festlegen, der dann jeweils um die ganze Seite gedruckt wird.


Fragen und Antworten


Lizenz- und Copyright-Informationen zum Reportdesigner

Der Reportdesigner ("QRDesign") sowie diese Datei wurden lizensiert und sind Copyright 1997 von

THSD Software

Timo Hartmann

Oststraße 38

D-57074 Siegen

http://www.thsd.de

Email: thsd@thsd.de