Start
Überblick          	Tabellen

 	Das Arbeitsfenster	Lokale Tabellen

Das Menüsystem	SQL Tabellen

Standardreports	Spezielle Reports

Der Assistent 	Kreuztabellen

Reports manuell erstellen	Etiketten

Bänder einstellen

Zeichenwerkzeuge	Einstellungen

Reports gruppieren	ReportPro

Variablen	Abschnitte

Picture-Klauseln	Reports

Drucker

Objekte bearbeiten	Dialoge

Pop-up Menüs	Der Ausdruckgenerator

Objektbetrachter	Öffnen-/Speichern

Funktionen	Datenbanktreiber

Drucker

ReportPro is a trademark of DataPro, Inc.

P.O. Box 6663, Warner Robins, GA 31095-6663  912.923.3793   fax 912.329.1838


Das Arbeitsfenster

Eine der wichtigsten Ansichten des Reportgenerators ist sein Arbeitsfenster. Die folgenden Schritte führen Sie dorthin:

•	Starten Sie das Programm..

•	Wählen Sie den Menüpunkt Datei, Neu, Standard-Report. Sie erhalten dann den Datenbank-Treiber Dialog.

•	Wählen Sie den ersten Eintrag aus und klicken Sie auf die Schaltfläche OK. Sie erhalten den Öffnen-Dialog  der Ihnen die Auswahl einer Datei ermöglicht, auf die sich der Report primär beziehen soll

Im Anschluß an diese Schritte ändert sich das Aussehen, des Umgebungsfensters. Sie erhalten das Arbeitsfenster des Reportgenerators.Das Arbeitsfenster ist gleichzeitig die „Schaltzentrale" für die Reportentwicklung:

Das äußere Fenster ist das Umgebungsfenster. In seiner Titelleiste steht zu Beginn ReportPro 2.0. ReportPro ist ein Warenzeichen der DataProTM Inc. Das innere Fenster ist das Arbeitsfenster des Reportgenerators. Wenn Sie einen neuen Report erstellen, steht in der Titelleiste des Arbeitsfensters zunächst [Neu]. Wenn Sie einen bereits bestehenden Report öffnen, steht der Name des Reports in der Titelleiste.Es ist möglich, mehrere Arbeitsfenster gleichzeitig geöffnet zu haben. Dies ist besonders dann von Vorteil, wenn Sie ähnliche Reports erstellen müssen. Sie können das „Original" öffnen und zusätzlich, wie oben beschrieben, einen leeren Report.

Bestehende Reportteile lassen sich dann durch kopieren in den noch leeren Report übernehmen und so die Zeit der Reporterstellung deutlich verkürzen.Die Anordnung mehrerer Fenster können Sie mit Hilfe der Menüpunkte Fenster, Überlappend oder Fenster, Nebeneinander einstellen.

Im Menü Fenster sind außerdem  alle geöffneten Fenster aufgelistet. Durch Klick auf  einen der aufgelisteten Fensternamen, können Sie den zugehörigen Report aktivieren.Direkt unterhalb der Titelleiste des Umgebungsfensters befindet sich die Menüleiste. Mit Hilfe dieser Menüleiste können Sie alle Funktionen des Reportgenerators aktivieren.

Für häufig benutzte Menüpunkte gibt es unterhalb der Menüleiste die Werkzeugleiste. In der Werkzeugleiste werden einige Menüpunkte grafisch dargestellt und sind somit besonders schnell verfügbar.Unterhalb der Werkzeugleiste befindet sich das Zeilenlineal. Ob das Zeilenlineal cm oder inch als Maßeinheit benutzt, hängt von den Einstellungen ab, die Sie im Menü Einstellungen ReportPro gemacht haben. Aufgabe des Zeilenlineals ist es, Ihnen eine Orientierung zu geben, wo -bezogen auf den linken bzw. rechten Blattrand- Sie auf dem Blatt gerade arbeiten. Außer dem Zeilenlineal gibt es senkrecht, entlang zum Arbeitsfenster, auch ein Spaltenlineal, mit dem Sie eine Orientierung über die Höhe der unterschiedlichen Bänder bekommen.

Die Arbeitsfläche ist in vier Teile unterteilt, die im Folgenden Bänder genannt werden. Das erste Band heißt Seitenkopf-Band. In diesem Band werden Daten plaziert, die auf jeder Reportseite gedruckt werden sollen, z.B.: Firmenname, Firmenlogo, Listendatum oder Seitenzahl.Das zweite Band ist das Seitenrumpf-Band. Hier werden Report-Objekte plaziert, die Ihren Report inhaltlich charakterisieren. In der Regel werden dies Datenbankfelder und Textobjekte sein. Es folgt das Seitenfußband. In diesem Band stehen Informationen, die am Ende jeder Seite gedruckt werden.

Das vierte Band ist das Summen-Band. Es ermöglicht Ihnen zusammenfassende Informationen des Reports auszugeben. Am linken Ende jedes Bandes befindet sich eine Band-Schaltfläche. Diese Schaltfläche kann benutzt werden, um die Bandgröße zu verändern (durch Linksklick-Festhalten und ziehen der Maus) oder andere Bandeinstellungen vorzunehmen (durch Rechtsklick auf das Band oder durch Klick auf die Band-Schaltfläche).

Die grau dargestellten Bereiche am linken und rechten Rand des Arbeitsfensters repräsentieren den linken bzw. rechten Blattrand.

In der linken unteren Ecke des Arbeitsfensters befindet sich ein kleines Doppelblatt-Symbol. Dies ist die Schaltfläche für den Hintergrundmodus des Reportgenerators. Im Hintergrundmodus werden die Bänder ausgeblendet und nur der Hintergrund des Blattes auf dem der Report gedruckt werden soll angezeigt.

Rechts neben der Schaltfläche für den Hintergrundmodus befindet sich die Abschnittsleiste. Jeder bestehende Abschnitt wird durch eine Karteilasche repräsentiert. Linksklick auf eine der Karteilaschen bringt den entsprechenden Reportabschnitt in den Vordergrund.Am unteren Rand des Umgebungsfensters befindet sich die Statuszeile. Diese Zeile wird benutzt, um Ihnen weiterführende Informationen zu dem gerade anstehenden Arbeitsschritt zu geben.


Das Menüsystem

Allgemeines zur Menüführung

Menü des Umgebungsfensters

Da die Menüitems Datei und Hilfe des Umgebungsfensters mit den entsprechenden Menüitems des Arbeitsfensters

übereinstimmen, genügt es, die Menüs des Arbeitsfensters zu besprechen.

Menü des Arbeitsfensters

Datei	Bearbeiten	Sortierung	Gruppen

Filter	Werkzeuge	Variablen	Fenster	Hilfe

Menü des Seitenansicht-Fensters

Menüleiste


Allgemeines zum Menü

Das Umgebungsfenster, das Arbeitsfenster und das Fenster Seitenansicht besitzen  jeweils eine eigene Menüleiste. Neben diesen Menüleisten nutzt der Reportgenerator intensiv Pop-up Menüs, die jeweils durch Rechtsklick auf ein zu bearbeitendes Objekt aktiviert werden.

Sie werden bemerken, daß die unterschiedlichen Menüoptionen über einen unterstrichenen Buchstaben verfügen. Menüpunkte können entweder durch Linksklick mit der Maus oder mit Hilfe dieses unterstrichenen Buchstabens aktiviert werden. Die zu diesem Buchstaben gehörige Taste wird im Folgenden „Kurzwahltaste" genannt. Sie können einen Menüpunkt mit Hilfe der Kurzwahltaste aktivieren, indem Sie zunächst die ALT-Taste drücken und gedrückt lassen, während Sie die entsprechende Kurzwahltaste drücken.

In einigen Fällen wird dadurch ein  Untermenü aufgeklappt. Viele Items der Untermenüs besitzen ebenfalls eine Kurzwahltaste. Der Untermenüpunkt Datei, Neu hat zum Beispiel N als Kurzwahltaste. Auch die Kurzwahltasten des Untermenüs lassen sich sofort erreichen: halten Sie dazu die Strg-Taste nieder, während Sie auf die Kurzwahltaste drücken. Die Tastenkombination STRG-N aktiviert z.B. sofort den Menüpunkt Datei, Neu.


Menüpunkt Datei

Das Umgebungs- und Arbeitsfenstermenü

Das Menü des Umgebungsfensters wird angezeigt, wenn Sie den Reportgenerator starten. Die Funktion der im Umgebungsfenster vorhandenen Menüpunkte stimmt mit den jeweiligen Menüpunkten des Arbeitsfensters überein. Wir besprechen daher nur das Menü des Arbeitsfensters in tabellarischer Form:

Menüpunkt	Kurzwahltaste	Beschreibung

Neu	Erstellt einen Standard-Report

Neu, Standard-Report	Strg-n	Erstellt einen Standard-Report

Neu, Etiketten-Report	Strg-l	Erstellt einen Etiketten-Report

Neu, Kreuz-Tab.-Report	Strg-t	Erstellt einen Kreuztabellenreport

Neu, Standard-Report Assistent	Strg-1	Startet den Standard

Report-Assistenten

Neu, Etiketten Assistent	Strg-2	Startet den Etiketten-Assistenten

Neu, Kreuz-Tab.-Assistent	Strg-3	Startet den Kreuztab.-Assistenten

Datei,Öffnen	Strg-O	Öffnet einen bestehenden Report

Datei,Speichern	Strg-s	Speichert den geöffneten Report

Datei, Speichern unter	Speichert den geöffneten Report

unter einem anderen Namen

Einstellungen, Report	Zeigt einen Dialog, mit dem Sie

reportspezifische Einstellungen

durchführen können.

Einstellungen, Abschnitt	Ergänzen, Löschen und

Einstellen von Abschnitten,

Tabellen und SQL-Queries

Einstellungen,Drucker	Zeigt den Drucker-Einrichten-

Dialog mit dem Sie Drucker-

einstellungen festlegen können

Einstellungen, ReportPro	Zeigt den Einrichten-Dialog mit

dem Sie allgemeingültige Ein-

stellungen vornehmen können.

Drucken	Druckt den Report

Seitenansicht	Zeigt die Seitenansicht des Reports

1 - N (zuletzt benutzte Reports)	Schnellzugriff auf die zuletzt be-

nutzten Reports

Beenden	Alt-F4	Beendet den Reportgenerator


Menüpunkt Bearbeiten

Bearbeiten

Mit diesem Menüpunkt werden Ihnen umfangreiche Bearbeitungsmöglichkeiten für Ihren Report zur Verfügung gestellt. Die im Folgenden beschriebenen Menüpunkte sind nicht immer anwählbar. Menüpunkte stehen grundsätzlich nur dann zur Verfügung, wenn deren Einsatz sinnvoll ist. Der Menüpunkt Bearbeiten, Einfügen ist z.B. nur dann sinnvoll, wenn sich ein Objekt in der Zwischenablage befindet.

Menüpunkt Bearbeiten

Menüpunkt	Kurzwahltaste	Beschreibung

Ausschneiden	Strg-x	Löscht die gewählten

Reportobjekte und legt sie in die

Zwischenablage.

Kopieren	Strg-c	Kopiert die gewählten Reportobjekte

(ohne sie zu löschen) in die

Zwischenablage.

Einfügen	Strg-v	Fügt Objekte, die entweder

ausgeschnitten oder kopiert wurden

in das aktuelle Arbeitsfenster ein

Löschen	Strg-Entf.	Löscht die gewählten Objekte ohne

sie in die Zwischenablage zu kopieren

Vordergrund	Strg-f	Bringt die gewählten Objekte an den

Anfang der Z-Reihenfolge. Die

Z-Reihenfolge legt fest, welche Objekte

über anderen liegen.

Hintergrund	Strg-b	Legt die gewählten Objekte an das Ende

der Z-Reihenfolge. Ein „nach hinten

gebrachtes" Objekt liegt hinter allen

anderen Objekten.

Objekte zentrieren	Strg-e	Zentriert die gewählten Objekte horizontal

im Report.  Wenn mehr als ein Objekt ge-

wählt wurde, wird  das Rechteck, das alle

Objekte umfaßt zentriert.

Alles markieren	Strg-a	Selektiert alle Objekte im aktuellen

Arbeitsfenster

Schriftart 	Legt die Schriftart für alle Objekte fest.

Wenn Sie z.B. die Schriftart für alle

Felder und Textobjekte eines Reports

ändern wollen, müssen Sie den Menü-

punkt „Alles auswählen" anklicken und

anschließend den Menüpunkt „Schrift

wählen"


Menüpunkt Sortierung

Kurzwahltaste für diesen Menüpunkt ist ALT-S. Die Anwahl dieses Menüpunkts öffnet den Sortierfolge-Dialog für den aktuellen Abschnitt, mit dem Sie die Sortierfolge für Ihren Report festlegen können.


Menüpunkt Gruppen

Kurzwahltaste für diesen Menüpunkt ist ALT-G.

Bei Anwahl wird der „Gruppieren"-Dialog gezeigt, in dem Sie festlegen, wie die Daten im aktuellen Abschnitt gruppiert werden sollen.


Menüpunkt Filter

Kurzwahltaste für diesen Menüpunkt ist ALT-I.

Bei Anwahl wird der „Ausdruckgenerator"-Dialog gezeigt, in dem Sie die Filterkriterien für den aktuellen Abschnitt festlegen können


Menüpunkt Werkzeuge

Kurzwahltaste für diesen Menüpunkt ist ALT-W.

Dieser Menüpunkt ermöglicht Ihnen, die für die Reporterstellung erforderlichen Werkzeuge zu wählen. Die folgende Tabelle erklärt die Funktionalität der Werkzeugleisten-Symbole:

Menüpunkt	Kurzwahltaste	Beschreibung

Zeichen-

Werkzeuge	Zeigt ein weiteres Menü mit den

Zeichen-Werkzeugen

Raster	Schaltet das Raster ein bzw. aus. Das

Raster wird durch Rasterpunkte ange-

zeigt.

Die Dichte des Rasters  kann innerhalb

des Einstellungen,Report Dialogs einge-

stellt werden.

Fangen	Schaltet den Rasterfang ein bzw. aus. Ist

der Rasterfang aktiv, werden alle

Objekte an den Rasterpunkten gefangen.

Prüf-Modus	Schaltet den Prüf-Modus ein/aus. Nur

wenn sich ein Report im Prüf-Modus

befindet, werden die Objektschatten im

Arbeitsfenster angezeigt.

Feld-Assistent	STRG-F5	Zeigt den Feld-Assistenten Dialog

Objekt-Inspektor	Zeigt den Objekt-Inspektor


Menüpunkt Variablen

Variablen

Kurzwahltaste für diesen Menüpunkt ist ALT-V. Bei Anwahl dieses Menüpunktes wird der Variablen-Dialog gezeigt, in dem Sie Variablen definieren können.


Menüpunkt Fenster

Kurzwahltaste für diesen Menüpunkt ist ALT-F

Dieser Menüpunkt wird zur Verfügung gestellt, um Ihnen eine einfache Möglichkeit zu geben, geöffnete Reports überlappend oder nebeneinander anzuordnen.Er enthält außerdem eine Liste der geöffneten Reports. Durch Klick auf einen Report-Namen wird das Arbeitsfenster des gewählten Reports aktiviert.

Menüpunkt	Kurzwahltaste	Beschreibung

Überlappend	Zeigt alle geöffneten Reports in

überlappender Darstellung

Nebeneinander	Stellt alle geöffneten Reports neben-

einander dar.

1-N	Der untere Teil des Menüs zeigt eine

Liste der geöffneten Reports. Sie können

einen Report dieser Liste durch anklicken

aktivieren


Menüpunkt Hilfe

Menüpunkt	Kurzwahltaste	Beschreibung

Hilfe-Themen	F1	Zeigt  den Hilfe-Index

Hilfe über Hilfe	Zeigt Hilfe über die Benutzung des Hilfe-

systems

Info	Zeigt das Info Fenster des Report-

generators


Menü Seitenansicht

Das Menü des Seitenansicht-Fensters

Die Seitenansicht aktivieren Sie über den Menüpunkt Datei, Seitenansicht oder durch Klick auf die zugehörige Schaltfläche innerhalb der Werkzeugleiste (blaues Monitorsymbol)..

Menüpunkt	Beschreibung

Schließen	Schließt die Seitenansicht und kehrt in das Arbeitsfenster

zurück.

Drucken	Öffnet den Drucker-Dialog

Seite,Anfang	Geht zur ersten Seite des Reports

Seite,Zurück	Geht ausgehend von der aktuellen Seite, eine Seite zurück

Seite,Nächste	Geht ausgehend von der aktuellen Seite, eine Seite vor

Seite,Letzte	Geht zur letzten Reportseite

Seite,Gehe Zu	Aktiviert einen kleinen Dialog, der Ihnen ermöglicht eine

Seitenzahl einzugeben. Die Seitenansicht wird dann auf die

eingegebene Seite positioniert.

Zoom,näher	Vergrößert die aktuelle Ansicht

Zoom weiter	Verkleinert die aktuelle Ansicht

Fenster, überlappend	Zeigt alle geöffneten Reports in einer überlappenden

Darstellung

Fenster, nebeneinander	Stellt alle geöffneten Reports nebeneinander dar.

1-N	Der untere Teil des Menüs zeigt eine Liste der geöffneten

Reports. Sie können einen Report dieser Liste durch anklicken

aktivieren


Der Assistent

Der Reportgenerator erlaubt Ihnen Standard-Reports manuell oder mit Hilfe eines Assistenten zu erstellen. Den Report-Assistenten können Sie durch Klick auf Datei-Neu-Standard-Report-Assistent aktivieren.Es wird ein Karteireiter-Dialog eröffnet der die Einstellung der wichtigsten Merkmale Ihres Reports ermöglicht.

Sie können die Hilfe-Information durch Klick auf die zugehörige Karteilasche aktivieren


Karte Titel

Diese Karte ermöglicht Ihnen eine Überschrift für den Report festzulegen und Kommentare über den zu erstellenden Report zu speichern. Die Überschrift erscheint in der Titelleiste des Arbeitsfensters. Dadurch haben Sie immer einen schnellen Überblick, welches Fenster gerade bearbeitet wird.Im Eingabefeld Kommentare können Sie eine Kurzbeschreibung für den Report eingeben. Sinnvolle Einträge an dieser Stelle sind z.B.: Bemerkungen darüber, wie der Report implementiert ist oder welchen Zweck er erfüllt. Die hier eingetragenen Informationen dienen dem Anwender als Erinnerungshilfe. Der Reportgenerator wertet dieses Feld  n i c h t  aus.


Karte Datenquelle

Wenn Sie die Karte Datenquelle wählen, ist die Listbox in der Mitte des Dialogs zunächst leer. Um die primäre Tabelle festzulegen, klicken Sie auf die Schaltfläche Haupt-Tabelle

Sie erhalten den Datenbank-Treiber Dialog. Dieser Dialog ermöglicht Ihnen das Format der Datenquelle festzulegen. Der Reportgenerator unterstützt FoxProTM, dBaseTM und CA-ClipperTM Datei- und Indexformate über Replacable Data Driver (RDD) Technologie. Es wird die Open Database Connectivity (ODBC) Technologie benutzt, um auf SQL Datenquellen zuzugreifen. Die Wahl des Datenbanktreibers hat keinen Einfluß auf die Arbeitsweise des Reportgenerators. SQL-Datenquellen erfordern aber einige zusätzliche Schritte während der Reporterstellung. Mehr über die Erstellung von ODBC-Reports erfahren Sie im Kapitel „ODBC-Datenquellen"Wählen Sie aus dem Datenbank-Treiber Dialog den gewünschten Treiber durch anklicken des Treibernamens aus. Klicken Sie anschließend auf die Schaltfläche OK oder doppelklicken Sie auf den gewünschten Treibernamen.Wenn Sie einen der RDD-Treiber (CDX, NTX oder MDX) ausgewählt haben, erscheint der nächste Dialog und fordert Sie auf, die Haupttabelle auszuwählen. Wählen Sie zunächst die gewünschte Tabelle und klicken Sie anschließend auf die Schaltfläche Öffnen.

Nachdem Sie eine Haupttabelle oder Abfrage gewählt haben, wird die Listbox aktualisiert um Ihre Auswahl anzuzeigen. Rechtsklick auf den Datenbanknamen eröffnet ein Pop-up Menü, das Ihnen ermöglicht zur gewählten Datenquelle Tabellen und Queries hinzuzufügen. Eine nähere Beschreibung dieser Menüpunkte wird im Kapitel „Tabellen konfigurieren" vorgenommen.


Karte Felder

Die Karte Felder ermöglicht Ihnen festzulegen, welche Felder der gewählten Tabelle in Ihrem Report benutzt werden sollen.

In dieser Listbox werden alle zur Verfügung stehenden Felder der Datenquelle angezeigt, die Sie in der Karte Datenquelle festgelegt haben. Die hier aufgeführten Felder können in die ListboxAusgewählte Felder übertragen werden. Die Schaltfläche  > bewegt das markierte Feld von der Listbox Verfügbare Felder in die Listbox Ausgewählte Felder. Die Schaltfläche >>  kopiert alle Felder der Listbox Verfügbare Felder in die Listbox Ausgewählte Felder.

Umgekehrt können mit den Schaltflächen  < und  << einzelne Felder bzw. alle Felder aus der Listbox Ausgewählte Felder entfernt werden.Die Reihenfolge der Felder in der Listbox Ausgewählte Felder kann durch Linksklick-Festhalten und Bewegen zur gewünschten Position verändert werden.

Unterhalb der Listbox Ausgewählte Felder befindet sich eine Listbox, die alle ausgewählten Tabellen enthält. Wenn Sie eine bestimmte Tabelle durch Linksklick auswählen, reduziert sich die Ansicht in der Listbox Verfügbare Felder auf die Felder der gewählten Tabelle. Wenn Sie wieder alle Felder sehen wollen, wählen Sie den Eintrag<Alle Tabellen>.

Klick auf die Schaltfläche Schriftart öffnet einen Dialog, der Ihnen ermöglicht, für alle Feld- und Text-Objekte Ihres Reports eine Schriftart bzw. -größe festzulegen. Die in diesem Dialog gewählten Einstellungen gelten für alle Feld- und Text-Objekte des Reports. Wenn Sie einem einzelnen Objekt eine Schriftart zuordnen möchten, müssen Sie das später im Arbeitsfenster tun.Im Report benutzte Datenbankfelder werden normalerweise durch einen begleitenden Text charakterisiert.

Der Reportgenerator verwendet für die Bezeichnung eines Datenbankfeldes als Voreinstellung dessen Namen. Wenn Sie von dieser Standardeinstellung abweichen möchten, können Sie in diesem Eingabefeld eine alternative Bezeichnung für das Feld eingeben. In spaltenorientierten Reports wird die hier eingetragene Feldbezeichnung als Spaltenüberschrift verwendet. In Standard-Reports erscheint diese Feldbezeichnung links neben dem Feldinhalt.Um eine Bezeichnung festzulegen, wählen Sie das gewünschte Feld in der Listbox Ausgewählte Felder und geben im Eingabefeld Überschrift die neue Bezeichnung ein.


Karte Sortierung

Mit dieser Karte legen Sie fest, wie die Daten der Datenquelle sortiert werden sollen.

Der Aufbau dieser Karte ist dem Aufbau der Karte Felder sehr ähnlich. Dies gilt auch für das Arbeiten mit beiden Karten. Die Übertragung von Feldern aus der Listbox Verfügbare Felder in die Listbox Sortiert nach erfolgt per Doppelklick oder über die Schaltflächen mit den Pfeiltasten.

Auch der Tabellenfilter unterhalb der Listbox Verfügbare Felder funktioniert wie bereits in der Karte Felder beschrieben.Sie können nach mehreren Feldern sortieren. Das zuerst gewählte Feld bestimmt die primäre Sortierfolge. Jedes weitere Feld legt eine Untersortierung des vorhergehenden Feldes fest. Damit ist es z.B. möglich eine Datenbank nach Kundennamen zu sortieren und innerhalb der Namen eine Untersortierung nach Vornamen vorzunehmen.Sie können außerdem für jedes Feld innerhalb der Listbox Sortiert nach festlegen, ob aufsteigend oder absteigend sortiert werden soll.

Markieren Sie dazu das gewünschte Feld und wählen Sie die gewünschte Sortierfolge aus der Listbox Sortier-Methode. Ihre Wahl wird durch Anfügen eines Buchstabens links neben dem sortierten Feld kenntlich gemacht. A bedeuted dabei aufsteigende Sortierung D bedeuted absteigende Sortierung. Wenn Sie die Checkbox Eindeutige Folge aktivieren, werden doppelt vorkommende Einträge der Datenquelle im Report nur einmal angezeigt.


Karte Gruppierung

Mit dieser Karte legen Sie fest, wie Ihr Report gruppiert werden soll.Nähere Informationen zum Thema Gruppieren erhalten Sie im Kapitel „Reports gruppieren."

Nach Einrichtung einer Gruppe fügt der Reportgenerator Gruppenbänder in das Arbeitsfenster ein, um Ihnen die Möglichkeit zu geben, Ihre Gruppierung zu plazieren.Die Karte Gruppierung arbeitet ebenfalls wie bereits bei der Besprechung der Karten Felder und Sortierung beschrieben. Sie legen Gruppen durch kopieren von Feldern aus der Listbox Verfügbare Felder in die Listbox Gruppen fest. Durch Klick auf die Schaltfläche Definieren wird ein Dialog gezeigt, in dem Sie einen Gruppennamen und einen Gruppenausdruck festlegen können.

Eine bestehende Gruppe kann durch Auswahl der gewünschten Gruppe aus der Listbox Gruppen und anschließendem Klick auf die Schaltfläche Bearbeiten bearbeitet werden.


Karte Filterung

Diese Karte ermöglicht Ihnen Ihre Datenquelle zu filtern. Ein Filter ist ein Ausdruck, der die Bearbeitung der Datenquelle auf die Datensätze beschränkt, die der entsprechenden Filterbedingung genügen.

Ein Filter wird durch Festlegen von Filterbedingungen für ein oder mehrere Felder erstellt. Wenn die Filterbedingung für zwei oder mehr Felder definiert wird, werden die Bedingungen mit dem logischen .AND. Operator verbunden. Ein Beispiel:Die Bedingung Kunden.PLZ="6000" .and. Kunden.Sex="W" beschränkt die Bearbeitung der Datenbank Kunden auf solche, die im PLZ-Gebiet 6000 wohnen und weiblich sind.

Um eine Filterbedingung zu erstellen, markieren Sie das gewünschte Feld aus der Listbox Verfügbare Felder und geben die Vergleichsbedingung im Bearbeitungsfeld für den Ausdruck ein. Die Listbox Operator enthält mehrere Operatoren um die Erstellung von anspruchsvollen Filterbedingungen zu ermöglichen.

beliebiger Wert

Wählen Sie diese Option, wenn kein Filterausdruck für das gewählte Feld erstellt werden soll.

gleich zu

Bearbeitet nur solche Datensätze, deren Feldinhalt genau gleich dem Wert des Ausdrucks ist, der im Bearbeitungsfeld Ausdruck eingegeben wurde.

ähnlich zu

Bearbeitet nur solche Datensätze, deren Feldinhalt ähnlich dem Wert des Ausdrucks ist, der im Bearbeitungsfeld Ausdruck eingegeben wurde. Zum Beispiel ist „Meier" ähnlich zu „Maier".

kleiner als

Bearbeitet nur solche Datensätze, deren Feldinhalt kleiner als der Wert des Ausdrucks ist, der im Bearbeitungsfeld Ausdruck eingegeben wurde.

größer als

Bearbeitet nur solche Datensätze, deren Feldinhalt größer als der Wert des Ausdrucks ist, der im Bearbeitungsfeld Ausdruck eingegeben wurde.

Alternativ zur Eingabe der Filterbedingung in das Eingabefeld kann der Ausdruckgenerator für das Bilden des Ausdrucks benutzt werden. Um den Ausdruckgenerator zu aktivieren, klicken Sie auf die Schaltfläche rechts neben dem Eingabefeld für Ausdrücke.


Karte Gestaltung

Die Karte Gestaltung ermöglicht Ihnen Formatmerkmale für Ihren Report festzulegen.

Layout-Stil

Die Gestaltung der Felder kann als Tabellen- oder Einzelsatzform eingestellt werden. In Tabellenform werden die Datenbankfelder waagerecht oberhalb des Seitenrumpf-Bandes angeordnet. In Einzelsatzform werden die Felder senkrecht auf der linken Seite des Seitenrumpf-Bandes angeordnet.

Grüne Balken

Simulierung von Grünbalkenpapier erleichtert die Informationsaufnahme. Der Reportgenerator kann grüne Balken simulieren, indem er in regelmäßigen Intervallen graue Balken druckt. Zufriedenstellende Qualität kann aber nur auf Laserdruckern erwartet werden.

Titelseite

Wenn Sie ein Deckblatt für Ihren Report erstellen möchten, ist es sinnvoll die Checkbox Titelseite hinzufügen zu aktivieren. Die Titelseite ist die erste Druckseite eines Reports.

Seite einrichten

Das Seitenlayout und Spaltenmerkmale können durch Klick auf die zugehörigen Schaltflächen in dieser Karte festgelegt werden.

Nicht alle Karten des Reportassistenten müssen ausgefüllt werden. Als Mindestangabe werden aber die Angaben innerhalb der Karte Datenquelle erwartet. Außerdem wird die Angabe von mindestens einem Feld innerhalb der Karte Felder erwartet.Der letzte Arbeitsschritt innerhalb des Assistenten ist der Klick auf die Schaltfläche Fertigstellen am unteren Ende der Karte Gestaltung. Sie erhalten dann ein Arbeitsfenster auf der Grundlage Ihrer Einstellungen.


Reports manuell erstellen

Natürlich läßt sich ein Report auch unabhängig vom Assistenten manuell erstellen.Wählen Sie dazu die Menüoption Datei, Neu, Standard-Report. Sie erhalten sofort ein Arbeitsfenster, müssen aber zunächst einige Angaben über den zu erstellenden Report machen.

Der erste Dialog den Sie erhalten werden ist der Datenbank-Treiber-Dialog, mit dem Sie das Format der Datenquelle festlegen  Im zweiten Dialog werden Sie aufgefordert eine Haupttabelle auszuwählen. Die hier erforderlichen Arbeitsschritte entsprechen den Arbeitsschritten innerhalb der Karte Datenquelle des Report-Assistenten und wurden dort bereits beschrieben.Nach Auswahl der Haupttabelle können Sie mit der Bearbeitung des Reports im Arbeitsfenster beginnen.

Objekte einfügen

Reportobjekte können durch Anwahl des gewünschten Zeichenwerkzeugs aus dem Menü Werkzeuge, Zeichenwerkzeuge oder durch Klick auf ein entsprechendes Symbol der Werkzeugleiste eingefügt werden.Nach Auswahl des gewünschten Zeichenwerkzeuges klicken Sie mit der linken Maustaste in das Arbeitsfenster und bewegen die Maus bei gedrückter, linker Maustaste. Das gewählte Objekt wird beim Loslassen der Maustaste entsprechend der Größe des aufgezogenen Rechtecks gezeichnet. Einige Reportobjekte erwarten die Angabe zusätzlicher Informationen. Wenn Sie z. B. ein Feld-Objekt zeichnen, müssen Sie anschließend den Feld-Ausdruck festlegen.

Reports gestalten

Wenn Sie die gewünschten Report-Objekte im Arbeitsfenster plaziert haben, können Sie den Report individuell gestalten. Vielleicht möchten Sie die Datenquelle durch Festlegen von Filtern oder Sortierfolgen bearbeiten ?  Diese Optionen sind über die Menüleiste verfügbar.Auch das Hinzufügen von Rändern, Schattierungen oder anderen Attributen ist möglich. Die Objekt-Attribute sind über Pop-up Menüs erreichbar. Sie aktivieren das Pop-up Menü eines Objekts, in dem Sie rechts klicken, während der Mauszeiger sich über dem Objekt befindet.


Bänder einstellen

Ein Report wird in Bänder aufgeteilt: Es sind dies das Seitenkopf-, Seitenrumpf-, Seitenfuß und Summen-Band.Jeder Band-Typ verfügt über Einstellmöglichkeiten, mit denen bandtypische Optionen festgelegt werden können. Die Band-Optionen sind entweder durch Rechtsklick auf das Band erreichbar oder über die Bandschaltfläche links neben dem Band. Es folgt nun eine Besprechung der Einstellmöglichkeiten.

Drucken wenn

Diese Option ermöglicht Ihnen eine Bedingung festzulegen, die erfüllt sein muß damit das Band gedruckt wird. Wenn Sie diese Option wählen, wird der Ausdruckgenerator gezeigt. Der hier definierte Ausdruck entscheidet darüber, ob das Band gedruckt wird oder nicht.  Nur wenn der Rückgabewert des Ausdrucks true ergibt, werden die Objekte des Bandes gedruckt.

Feste Größe

Normalerweise paßt der Reportgenerator während des Druckens dynamisch die Größe des Bandes an die zu druckenden Objekte an (Objekthöhe des größten Objektes plus die Differenz zwischen Band-Ende und unterem Rand des kleinsten Objektes in dem Band).Die Option Feste Größe bewirkt, daß das Band dieselbe Größe annimmt, wie es der Größe im Arbeitsfenster entspricht.

Überspringen wenn leer

Diese Option überspringt das Band, wenn keines der Objekte im Band gedruckt wird.

Alles im Band markieren

Wenn Sie diese Option wählen, wird der Reportgenerator automatisch alle Objekte des Bandes markieren. Sie können dies ausnutzen, um Eigenschaften für alle Objekte des Bandes festzulegen.

Bandgröße

Mit dieser Option können Sie das Band manuell auf eine exakte Höhe einstellen.Sie können die Bandhöhe auch durch Linksklick-Festhalten auf die dem Band angrenzende Schaltfläche und anschließendem Ziehen in die gewünschte Höhe, einstellen.

Seitenvorschub erzwingen

Wenn Sie diese Option wählen, sendet der Reportgenerator nach Druck des Bandes ein Seiten-Vorschub Signal an Ihren Drucker. Diese Option gibt es nicht für das Seitenkopf bzw. Seitenfuß-Band.

Seitenvorschub erzwingen wenn

Wenn Sie diese Option wählen, meldet sich der Ausdruckgenerator, um Ihnen die Eingabe des Ausdrucks zu ermöglichen, mit dem festgelegt werden kann, ob der Seitenvorschub ausgelöst wird oder nicht.

Nachdem alle Objekte des Bandes gedruckt wurden, wird geprüft, ob dieser Ausdruck true, ergibt. Wenn Ja, wird die Seite ausgegeben, sonst wird kontinuierlich weiter gedruckt.

Diese Option gibt es ebenfalls nicht für das Seitenkopf bzw. Seitenfuß-Band.

Auf jeder Seite drucken

Diese Option finden Sie nur für Gruppenkopf Bänder. Wenn sie aktiviert ist, wird das Gruppenkopf-Band auf jeder Seite seines Abschnitts gedruckt. Benutzen Sie diese Option, wenn sich gruppierte Daten über mehrere Seiten erstrecken. Durch Druck des Gruppenkopfes auf jeder Seite, können Sie leicht feststellen, welche Gruppe gerade betrachtet wird ohne ggf. durch mehrere Seiten blättern zu müssen um die Gruppenkopf-Informationen zu finden.


Zeiger

Mit dem Zeiger können Sie Objekte auswählen. Führen Sie hierzu einen einfachen Linksklick auf das Objekt aus.

Markieren

Um mehrere Objekte auszuwählen, klicken Sie bei gedrückter Shift-Taste auf die gewünschten Objekte.Sie können mehrere Objekte auch markieren, indem Sie bei gedrückter linker Maustaste einen Rechteckbereich um die gewünschten Objekte ziehen.

Bewegen

Um ein Objekt zu bewegen, bewegen Sie den Zeiger auf das Objekt, und ziehen das Objekt bei gedrückter linker Maustaste. Auf gleiche Weise ist es auch möglich mehrere Objekte gleichzeitig zu bewegen.Wenn ein Objekt markiert wird, enthält der Markierungsrahmen kleine Quadrate

Größe einstellen

Wenn Sie den Mauspfeil auf eines der Quadrate positionieren können Sie per Linksklick-festhalten das markierte Objekt vergrößern bzw. verkleinern.


Linien-Werkzeug
Linien-, Rechteck- und Ellipsen-Werkzeug

Linie

Mit dem Liniensymbol können Sie gerade Linien in den Report einfügen

Rechteck

Mit dem Rechtecksymbol können Rechtecke in den Report eingefügt werden.

Ellipse

Mit dem Ellipsenwerkzeug können Kreise oder Ellipsen in den Report eingefügt werden.


Feld-Werkzeug

Mit dem Feldsymbol können Objekte erstellt werden, die ihren Inhalt von der Datenquelle bekommen. Das Feldsymbol wird außerdem benutzt, um auf Variablen zugreifen zu können.

Nach dem Aufziehen eines Feld-Objektes auf die Arbeitsfläche wird der Ausdruckgenerator gestartet, mit dem Sie den Inhalt für das Feld-Objekt festlegen können.

Als Ergänzung zum Feldwerkzeug ist der Feld-Assistent ein wichtiges Hilfsmittel, um Ihrem Report Feld-Objekte anzufügen.Der Assistent ist entweder über den Menüpunkt Werkzeuge aus dem Hauptmenü verfügbar oder über die Kurzwahltaste CTRL-F5.Feld-Objekte können durch Linksklick-festhalten und ziehen auf die gewünschte Position innerhalb der Arbeitsfläche angefügt werden.

Die Listbox Tabelle ermöglicht Ihnen, die Auswahl der Felder auf einzelne Dateien zu beschränken um die Übersicht zu erhöhen. Wählen Sie ggf. die gewünschte Datei aus dieser Combobox aus.Durch Klick auf die Schaltfläche Feld-Inhalte zeigen, können Sie sich außerdem Beispielwerte des ausgewählten Feldes ansehen.


Text-Werkzeug

Nach Klick auf das Textsymbol kann eine Textbox aufgezogen werden. Der Reportgenerator schaltet nach Aufziehen der Textbox in den Eingabemodus. Wenn Sie den gewünschten Text eingetragen haben, kann diese Box verlassen werden, in dem Sie ein anderes Objekt anklicken oder auf einen leeren Bereich des Arbeitsfensters klicken. Wenn Sie den Textinhalt später weiter bearbeiten möchten, klicken Sie zunächst auf die Schaltfläche Text-Werkzeug und anschließend auf die gewünschte Textbox.


Bild-Werkzeug

Um Ihrem Report Bilder anzufügen, benutzen Sie das Bildsymbol. Nach Klick auf diese Schaltfläche können Sie einen Rahmen aufziehen, der das gewünschte Bild aufnehmen soll. Zum Füllen dieses Rahmens werden einige Dialoge präsentiert, die es Ihnen ermöglichen, die Bildquelle festzulegen.

Direkt aus Datei

Diese Option präsentiert den Öffnen-Dialog , mit dem das gewünschte Bild ausgewählt werden kann

Dateiname als Rückgabewert eines Ausdrucks

Diese Option startet den Ausdruckgenerator. Sie können einen Ausdruck festlegen, der einen Dateinamen zurückgibt. Wofür das sinnvoll ist ?

Nehmen wir an, der Dateiname des Bildes ist in einem Datenbankfeld gespeichert. Dann wird für jeden Datensatz ggf. ein anderes Bild gezeichnet, wenn Sie das Bild-Werkzeug ins Seitenrumpf-Band zeichnen.

Bitmap als Rückgabewert eines Ausdrucks

Diese Option ermöglicht die Anzeige von Bitmap-Bildern, die in einer Datei gespeichert sind. Zur Zeit werden ausschließlich die Bildformate BMP, PCX, PNG, JPG und TGA unterstützt. Der Reportgenerator erkennt das Format einer Datei selbständig an deren Endung.

•	Ist ein Bild Rückgabewert eines Ausdrucks, muß das BMP-Format vorliegen.


Abschnitt-Werkzeug

Ein eingefügter Abschnitt ist ein Abschnitt, der in einem Rechteckbereich innerhalb eines anderen Abschnittes gedruckt wird.

Wenn Sie das Verbundrechteck für den eingebetteten Abschnitt gezeichnet haben, werden Sie zunächst aufgefordert, die Datenquelle für den neuen Abschnitt einzugeben. Daraufhin erweitert sich der Karteireiterdialog am unteren Ende des Arbeitsfensters um eine weitere Lasche. Mit Klick auf diese Lasche können Sie den neuen Abschnitt bearbeiten.

•	 Ein Abschnitt kann als Report im Report aufgefaßt werden.


Grafik-Werkzeug

Dieses Werkzeug ist nur in der 32-Bit Version verfügbar. Es gehört zu den leistungsstärksten Eigenschaften des Reportgenerators und erlaubt Ihnen numerische Daten grafisch aufzubereiten.

Nach Klick auf die Schaltfläche Grafik müssen Sie zunächst wieder durch Aufziehen eines Verbundrechtecks die Grafik in Ihrem Report plazieren. Anschließend meldet sich ein Grafik-Assistent. Wie der Standard-Report Assistent ist der Grafik-Assistent ein Karteireiterdialog, der Ihnen das Festlegen aller Grafik-Attribute ermöglicht.

Datenquelle

Als Datenquelle für die zu erstellende Grafik kann die Datenquelle des aktuellen Abschnitts benutzt werden. Es ist aber auch möglich, eine eigene Datenquelle für die Grafik festzulegen. Entscheiden Sie sich durch Klick auf die zugehörigen Radiobuttons.

Wenn Sie eine eigene Datenquelle festlegen, erhalten Sie eine Reihe von Dialogen, mit denen Sie die Informationen für die Datenquelle festlegen können. Wenn die Datenquelle festgelegt ist, wird die Listbox in der Mitte des Dialogs aktualisiert. Diese Listbox arbeitet auf die gleiche Weise wie die Listbox der Karte Datenquelle des Standard-Report-Assistenten

Spalten

Die Karte Spalten ermöglicht Ihnen, die Spalten/Ausdrücke zu definieren, die grafisch dargestellt werden sollen. Sie können durch Rechtsklick auf das Grafiksymbol  neue Spalten zur Listbox hinzufügen.

Um beliebig komplizierte Ausdrücke für die Spalte zu ermöglichen, wird der Ausdruckgenerator gestartet.Es ist aber auch möglich, Spalten mit Hilfe der Feldliste in die Listbox aufzunehmen. Aktivieren Sie hierzu zunächst die Checkbox Feldliste anzeigen. Sie erhalten einen Dialog, der eine Liste mit allen in der Datenquelle verfügbaren Feldern enthält.

Wählen Sie das gewünschte Feld aus und klicken Sie auf die Schaltfläche Neu. Das Eingabefeld Titel am unteren Ende des Dialogs ermöglicht die Eingabe einer Bezeichnung für die gewählte Spalte.Die so eingefügten Spalten-Objekte können weiter bearbeitet werden. Führen Sie dazu einen Rechtsklick auf das gewünschte Spalten-Objekt aus.

Das so aktivierte Pop-Up Menü stellt Ihnen die Optionen Spalte einfügen, Spalte entfernen und Datenpunkte hinzufügen zur Verfügung. Sie können auch über dem Spaltentitel und dem Datenwert-Ausdruck  rechtsklicken um diese zu bearbeiten.Ein Klick auf die Schaltfläche f(x) aktiviert den Ausdruckgenerator.Sie können nun einen Ausdruck festlegen, der für die Bezeichnung der x-Achse benutzt wird.

Grafik-Stil

Mit dieser Karte erhalten Sie die Möglichkeit Ihre Grafik zu formatieren. Ihre Formatierungsauswirkungen werden sofort auf dieser Karte angezeigt. Ein Wechsel zur Seitenansicht des Reports ist also nicht erforderlich.

Mit den Schaltflächen im oberen Teil des Dialogs können Sie den Grafiktyp auswählen. Balken, Linien, Kreis, waagerechte Balken, Stapelbalken und Prozent-Stapelbalken-Grafiken können gewählt werden.

Mit der Checkbox 3D kann die Ansicht der Grafik zwischen 2D und 3D umgeschaltet werden. Die Checkbox ausgefüllt füllt die Balken bei Aktivierung sonst bleiben die Balken transparent. Die Checkbox drehen dreht die Grafik und blendet ggf. die Legende ein.

Die Schaltfläche Hintergrundfarbe ist nur für Kreisdiagramme verfügbar und setzt für diesen Diagrammtyp die Hintergrundfarbe.In das Eingabefeld Titel können Sie den Report-Titel eingeben. Der Report-Titel wird oberhalb der Grafik angezeigt. Mit der Schaltfläche rechts neben dem Eingabefeld Titel können Sie Schriftattribute für den Grafik-Titel festlegen

X-Achse

Die Karte X-Achse ist für die Formatierung der X-Achse zuständig

Mit dem Steuerelement Mark.-Abstand legen Sie fest, wann Spaltenbe-schriftungen durchgeführt werden. Der Vorgabewert ist 1. Das heißt, daß jede Spalte der Grafik eine Beschriftung erhält. Wenn Sie das Intervall auf 2 setzen, wird für jede zweite Spalte eine Beschriftung angezeigt, usw.

Mit der Schaltfläche Beschriftungsfont können Sie Schriftattribute für die Spaltenbeschriftung festlegen.Mit den Eingabefeldern Titel und Überschrift können Sie beschreibende Informationen für die X-Achse ausgeben. Der Titel wird direkt unterhalb der X-Achse angezeigt, die Überschrift rechts neben der X-Achse. Jedes Eingabefeld hat eine mit ihr in Verbindung stehende Schaltfläche, die das Festlegen der jeweiligen Schriftattribute ermöglicht.

Y-Achse

Die Karte Y-Achse ist für Attribute die sich auf die Y-Achse der Grafik beziehen zuständig.

Die Steuerelemente der Gruppe Wert ermöglichen Ihnen den Wertebereich der auf der Y-Achse dargestellten Werte festzulegen.

Normalerweise wird die Y-Achse automatisch skaliert. Möchten Sie die Skalierung selbst vornehmen, muß zunächst die Checkbox Autom. Skalierung deaktiviert werden um Einträge in die Eingabefelder der Gruppe Wert vornehmen zu können.

Das Eingabefeld Min. legt den kleinsten auf der Y-Achse darzustellenden Wert fest. Der Wert im Eingabefeld Max legt den größten darzustellenden Wert fest.

Das Eingabefeld Basis bestimmt den Wert ab dem die Spalten gezeichnet werden.

Die Combobox Format ist für die Eingabe einer Picture-Klausel zuständig, mit der Sie die Darstellung der Werte der Y-Achse formatieren können (siehe auch Kap. Picture Klauseln)

Die Schaltfläche Font aus der Gruppe Wert gibt Ihnen die Möglichkeit Schriftattribute für die Werte der Y-Achse festzulegen.Haupt- und Teilstrichlinien werden normalerweise automatisch gesetzt.Mit der Gruppe Schrittweite können Sie selbst Einfluß auf die Gestaltung dieser Hilfsstriche nehmen. Wenn Sie die Dichte der Achsenskalierung manuell eintragen wollen, ist es erforderlich die Checkbox Auto-Step zu deaktivieren.

Mit den Schaltflächen für die Farbgebung  können Sie die Farbe für die Teilstriche festlegen.

Mit den Eingabefeldern Titel und Überschrift können Sie der Y-Achse erläuternde Informationen zuordnen. Der Titel wird senkrecht neben die Y-Achsenwerte angezeigt, die Überschrift an der Spitze der Y-Achse.

Mit den Schaltflächen für den Schrifttyp  können Sie Schriftattribute für den Titel und die Überschrift festlegen

Legende

Die Karte Legende ermöglicht Ihnen die Position, Farbe und den Schrifttyp der Legende festlegen.

Mit der Checkbox Legende anzeigen können Sie entscheiden, ob eine Legende angezeigt werden soll oder nicht. Die Position der Legende können Sie mit den Positionsschaltflächen bestimmen. Die Pfeiltaste Links bedeutet dabei, daß die Legende links neben der Grafik positioniert wird. Entsprechendes gilt für die anderen Pfeil-Schaltflächen. Nach Klick auf die mittlere Schaltfläche wird die optimale Position für die Legende automatisch berechnet

Die drei Schaltflächen am unteren Rand des Dialogs ermöglichen Ihnen die Randfarbe, die Füllfarbe und Schriftattribute einzustellen.

Rahmen

Mit dieser Karte können Sie das Layout des Rahmens für die Grafik festlegen.

Die Steuerelemente sind in 3 Gruppen eingeteilt, so daß die Einstellungen getrennt für die linke Wand, Rückwand und den Boden durchgeführt werden können.Mit der Checkbox 3D legen Sie fest, ob der jeweilige Rand im 3-D Look gezeichnet werden soll oder nicht. Die Checkbox Raster schaltet die Anzeige des Rasters der Wand ein bzw. aus.

Farbe

Die Schaltfläche Farbe ist für die Einstellung der jeweiligen Wandfarbe zuständig. Ein Klick auf diese Schaltfläche öffnet den Windows Farb-Dialog

Drehung

Das Zählfeld Drehung ermöglicht Ihnen die Grafik um die eingestellte Grad-Zahl zu drehen.

Ihre Einstellungen werden auf der Karte Rahmen sofort angezeigt.Wenn Sie alle erforderlichen Einstellungen abgeschlossen haben, bleibt als Letztes nur noch der Klick auf die Schaltfläche fertig um die Grafik in Ihren Report aufzunehmen.


Die Zeichenwerkzeuge

Zeichenwerkzeuge

Der Reportgenerator stellt für jeden Objekt-Typ ein Zeichenwerkzeug zur Verfügung. Zeichenwerkzeuge können über den Menüpunkt Werkzeuge, Zeichen-Werkzeuge gewählt werden oder durch Linksklick auf das entsprechende Werkzeugsymbol innerhalb der Werkzeugleiste.

Um ein Report-Objekt zu plazieren, bewegen Sie zunächst den Zeiger zur gewünschten Position, klicken auf die linke Maustaste und ziehen die Maus bei gedrückter Maustaste bis die gewünschte Objekt-Größe erreicht ist. Wenn Sie die linke Maustaste loslassen, wird das Objekt an der positionierten Stelle und in der gezogenen Größe gezeichnet.

Informationen über alle  Zeichenwerkzeuge erhalten Sie durch Klick auf die zugehörige Schaltfläche in der Werkzeugleisten-Abbildung


Reports gruppieren

Gerade bei der Bearbeitung größerer Datenmengen, entsteht der Wunsch zusammengehörige Informationen auch zusammen darzustellen bzw. zu „gruppieren". Bereits die Sortierung sorgt für eine Gruppierung, weil dann z.B. alle Verkäufer hintereinander erscheinen. Der Reportgenerator kann zusammengehörige Daten erkennen und bietet Möglichkeiten an, zusammengehörige Daten besonders darzustellen. Es ist für Datengruppen z.B. möglich:

•	Gruppenkopf und Gruppenfußbänder zu drucken, um einleitende Informationen für jede Gruppe zu ermöglichen.

•	Jede Gruppe auf eine neue Seite zu drucken.

•	Berechnungen für jede Gruppe durchzuführen.

Wie bei gesteuerten Abschnitten, müssen Sie auch für Gruppen zunächst einen Ausdruck festlegen, der bestimmt, wann eine neue Gruppe beginnt. Wenn der Ausdruck gleich dem Verkäufer-Feld ist, wird für jeden Verkäufer eine eigene Gruppe angelegt. Für jede neue Gruppe werden dann die Informationen im Gruppenkopf- bzw- fuß-Band gedruckt.

Um eine neue Gruppe zu erstellen, benutzen Sie den Menüpunkt Gruppen aus dem Menü des Arbeitsfensters:

Die Bearbeitung in diesem Dialog erfolgt genauso wie beispielsweise die Bearbeitung im Sortier-Dialog.

Markieren Sie einfach mit Linksklick das gewünschte Feld in der Listbox Verfügbare Felder  und klicken Sie anschließend auf die Schaltfläche mit dem Pfeil nach rechts. Alternativ dazu können Sie auch einen Doppelklick auf das Gruppenfeld ausführen. Werden weitere Felder in die Listbox Gruppen aufgenommen, so definieren diese Felder jeweils eine Untergruppierung der Vorgängergruppe.

Der Reportgenerator erlaubt auch komplexere Ausdrücke um Gruppen zu definieren. Es genügt ein Klick auf die Schaltfläche „Definieren" um den Dialog Gruppe definieren zu aktivieren:

Tragen Sie zuerst im Eingabefeld Gruppenname eine eindeutige Bezeichnung für die zu erstellende Gruppe ein.

Das Eingabefeld Ausdruck kann per Hand oder mit Hilfe des Ausdruckgenerators eingegeben werden. Um den Ausdruckgenerator zu aktivieren, klicken Sie bitte auf die Schaltfläche „Ausdr." Nach Festlegung eines Ausdruckes kehren Sie wieder zurück zum Gruppieren-Dialog.

Sind alle Einstellungen durchgeführt, werden automatisch die erforderlichen Gruppenkopf- und Gruppenfuß-Bänder im Arbeitsfenster des Reports erstellt. Die nachstehende Abbildung zeigt, wie sich die Erstellung der Gruppe Seminar im Arbeitsfenster auswirkt:

•	Beachten Sie bitte, daß das Gruppenkopf-Band vor jeder Gruppe und das Gruppenfuß-Band nach jeder Gruppe gedruckt wird.


Variablen benutzen

Nehmen wir einmal an, Sie wollen in einem spaltenbezogenen Report neben den Datensätzen eine laufende Nummer drucken lassen. Diese laufende Nummer ist offenbar eine Zahl, deren Wert sich ständig ändert und für die Ihr Rechner „Speicher" zur Verfügung stellen muß. Nun ist es nicht so, daß für jede laufende Nummer neuer Speicherplatz zur Verfügung gestellt wird, sondern wenn der Speicherinhalt verarbeitet wurde (z.B. gedruckt wurde) kann er durch einen neuen Inhalt (eine neue laufende Nummer) ersetzt werden. Da sich der Inhalt des Speichers also ständig ändern kann, nennt man diese Speicherstellen „Variablen". Und um diese Variablen besser verwalten können, gibt man ihnen eindeutige Namen. Eine Speicherstelle die eine laufende Nummer speichern soll, könnte man beispielsweise lfdnr nennen.

Für die Einrichtung von Variablen steht der Variablen-Dialog zur Verfügung, der sich nach Klick auf den Menüpunkt Variablen im Menü des Arbeitsfensters öffnet.Jede Variable bekommt eine Positionsnummer.

Falls mehrere Variablen verwendet werden, entscheidet die Positionsnummer über die Reihenfolge der Aktualisierung.

•	Dies ist von großer Bedeutung, wenn sich Variablen aufeinander beziehen. Soll beispielsweise die Provision von einer Verkaufssumme berechnet werden, ist es wichtig, daß zuerst die Variable „Summe" aktualisiert wird und dann vom Inhalt der Variablen Summe die Provision berechnet werden kann.

Im Eingabefeld Startwert können Sie angeben, welches der erste Wert der Variablen sein soll. Wollen Sie z.B. die Numerierung bei 100 beginnen lassen, so können Sie in diesem Feld 100 eintragen. Die Variablen erhalten ihren Startwert zu Beginn der Reportverarbeitung zugewiesen und während der Reportverarbeitung immer dann, wenn die Rücksetzungsbedingung erfüllt ist.

Rücksetzungsebenen

Variablen können auf  Report-, Abschnitt-, Seiten- oder Gruppen-Ebene zurückgesetzt werden:Gilt für eine Variable die Rücksetzungsebene „Report", dann wird sie unmittelbar vor Reportbeginn initialisiert und während des gesamten Report-Verlaufes nicht mehr zurückgesetzt.

Gilt für eine Variable die Rücksetzungsebene „Abschnitt", dann wird sie vor dem Start des Abschnitts für den sie definiert wurde initialisiert. Sie können „Abschnittsvariablen" nutzen, um Abschnittssummen bzw. abschnittsbezogene Rechnungen zu ermitteln.

Variablen, die auf Seiten-Ebene zurückgesetzt werden, eignen sich um Seitensummen zu berechnen.

Variablen, die auf Gruppen-Ebene zurückgesetzt werden, eignen sich um beispielsweise  Gruppensummen zu erstellen. Im Eingabefeld „Ausdruck" legen Sie fest, wie sich der Wert einer Variablen ändern soll. Im vorliegenden Beispiel bedeutet der Ausdruck lfdnr+1, daß zum aktuellen Inhalt der Speicherstelle mit dem Namen lfdnr die Zahl 1 addiert werden soll. Natürlich sind auch komplexere Ausdrücke möglich:

Die Variable SemKost ist auf Abschnittsebene definiert und erhält ihren Wert aus dem Produkt lfdnr*Seminar.S_gebuehr. D. h. zur Berechnung der Variablen SemKost wird die Variable lfdnr benutzt.

Sowohl der Startwert, wie auch der Ausdruck lassen sich per Hand oder mit Hilfe des Ausdruckgenerators erstellen.

Variablen benutzen

 Sind die Variablen einmal erstellt, ist deren Benutzung im Report einfach. Sie finden die erstellten Variablen nämlich im Dialog „Feld-Ausdruck" in der Listbox Variablen wieder. Das Einfügen der Variablen funktioniert dann genauso, als würden Sie ein Datenbankfeld in Ihren Report aufnehmen.


Picture Klauseln

Beispiele

Nicht selten werden an die Ausgabe von Datenbankfeldern innerhalb von Reports bestimmte Anforderungen an das Ausgabeformat gestellt. Zahlen sollen beispielsweise mit Tausenderpunkten ausgegeben werden oder bei der Angabe von Telefonnummern soll ein Bindestrich zwischen Vorwahl und Telefonnummer stehen. Vielleicht möchten Sie Feldinhalte auch mal nur in Großbuchstaben angeben, etc.

Um Datenbankfeldern solche Formatmerkmale zuordnen zu können, verwendet man sogenannte Picture-Klauseln, die im Folgenden beschrieben werden sollen.

Format-Pictures sind zweiteilig. Sie enthalten einen Funktions-String und eine Eingabemaske. Um beide Teile voneinander unterscheiden zu können, enthält der Funktions-String das @-Zeichen, gefolgt von einem oder mehreren zusätzlichen Zeichen. Der Funktions-String steht außerdem am Anfang eines Format-Pictures.Er legt Eigenschaften fest, die sich auf den gesamten Feldinhalt beziehen.

Wenn Funktionsstring und Eingabeformat-Maske gemeinsam benutzt werden, müssen sie durch eine Leertaste voneinander getrennt werden.

Funktionen

B	Stellt Zahlen linksbündig dar.

R	Es folgen nicht zur Maske gehörende Zeichen , die nur eingeschoben werden sollen.

Z	Ersetzt den Wert 0 durch Leerzeichen.

!	Alphabetische Zeichen werden in Großbuchstaben umgewandelt.

 Während sich Funktionen auf den gesamten Inhalt des Feldes beziehen, wirkt sich eine Eingabemaske zeichenweise auf die einzelnen Zeichen einer Information aus.

Nichtdefinierte Maskenzeichen überschreiben die Zeichen an der gleichen Position und werden bei der Eingabe übersprungen.

Achtung: 	Zeichen, die keine gültigen Maskenzeichen sind, werden zusätzlich in die

Anzeige eingeschoben. Dies wirkt sich aber nur auf die Anzeige des Feldes

aus. Solche Zeichen werden nicht als Eingabe übernommen (siehe Bsp. 3)

Eingabemaske

N	Nur alphabetische und numerische Zeichen können eingegeben/angezeigt werden.

9	Nur Ziffern können eingegeben/angezeigt werden

(und Vorzeichen bei numerischen Feldern).

L	Nur logische Werte. Anzeige als T oder F.

Y	Nur logische Werte. Anzeige als Y oder N.

!	Alle alphabetische Zeichen werden in Großbuchstaben ausgegeben.

$	$-Zeichen anstatt Leerzeichen in numerischen Ausdrücken.

.	Zeigt einen Dezimalpunkt.

,	Zeigt ein Komma.

Beispiele

Feldinhalt/Wert	123654987

Eingabemaske	999,999,999

Anzeige	123,654,987

Feldinhalt/Wert	John Smith

Eingabemaske	@!

Anzeige	JOHN SMITH

Feldinhalt/Wert	009564311

Eingabemaske	@R 999-99-9999

Anzeige	009-56-4311


Pop-Up Menues

Um ein Objekt zu bearbeiten, bewegen Sie zunächst den Mauszeiger darauf und klicken dann mit der rechten Maustaste. Sie erhalten ein Pop-up Menü,

das je nach Objekttyp unterschiedliche Bearbeitungsmöglichkeiten zur Verfügung stellt.

In o.g.  Abbildung wird das zum Feld-Objekt gehörige Pop-up Menü dargestellt und soll auch als erstes näher beschrieben werden. Die Beschreibung anderer, objektspezifischer Optionen erfolgt im Anschluß.

In der oberen Gruppe des Pop-up Menüs erhalten Sie die bereits aus dem Bearbeiten-Menü bekannten Optionen Ausschneiden, Kopieren und Einfügen. Der Rechtsklick soll Ihnen die Mausbewegung zur Menüleiste ersparen.

Ausrichten

 Die Option Ausrichten steht für alle Report-Objekte zur Verfügung. Nach Auswahl dieser Option meldet sich der Ausrichten-Dialog, der für die Festlegung der

 Position des Objektes bzw. der Objekte zuständig ist.

Wenn nur ein Objekt gewählt ist, sind nur Einstellungen der ersten und vierten Gruppe dieses Dialogs einstellbar.

Die Gruppen zwei und drei dienen der Ausrichtung der Objekte untereinander und setzen damit voraus, daß mindestens zwei Objekte gewählt sind. Die gewählten Objekte können so gleichzeitig z.B auf gleiche Größe bzw. gleiche Höhe oder Breite eingestellt werden. Aktivieren Sie die gewünschten Option durch Klick auf die zugehörige Checkbox und abschließend auf die Schaltfläche OK.

Position/Größe ändern

Wie bereits früher beschrieben, kann der Mauszeiger benutzt werden, um ein Objekt in die erforderliche Größe zu strecken und an die erforderliche Position zu ziehen. Da die Genauigkeit im Umgang mit der Maus nicht immer einfach umzusetzen ist, können Sie die Position des aktiven Objektes auch exakt über die Angabe der Koordinaten bestimmen. Tragen Sie dazu im Position/Größe ändern-Dialog die gewünschten Werte ein

 Ihre Angaben können entweder in Objekt-Koordinaten  oder in Benutzer-Koordinaten festgelegt werden.

Objekt-Koordinaten sind immer ganzzahlig, so daß es keine Rundungsprobleme gibt. Es können ca. 96 Objekt-Einheiten pro inch dargestellt werden. Dieser Wert ist allerdings abhängig von Ihrem Bildschirmmodus und kann ggf. variieren.

Ob Benutzer-Koordinaten in inch oder cm angegeben werden, hängt von Einstellungen in der Datei RPWIN.INI ab.

Wenn Sie die Objekt-Position in Benutzer-Koordinaten angeben, werden Ihre Eingaben automatisch in Objekt-Einheiten umgerechnet. Beim Umrechnen ist es manchmal unvermeidbar, daß Rundungsfehler auftreten. Dies kann sich z.B. so auswirken, daß die Objekt-Position nicht exakt Ihren Einstellungen entspricht.

Automatische Größe

Diese Option gibt es nur in den Pop-up Menüs für Feld- und Text-Objekte. Normalerweise wird der darin auszugebende Text nur innerhalb des dafür aufgezogenen Objektrahmens angezeigt. Dabei kann es vorkommen, daß der Objektrahmen zu klein ist und damit der Text nicht vollständig sichtbar ist.Durch Anwahl der Option automatische Größe wird veranlaßt, daß der Objektrahmen den damit verbundenen Text vollständig anzeigt.

Bei Feld-Objekten hat der Reportgenerator nur eine Datenzeile als Muster zur Verfügung. Wenn diese Datenzeile die zu erwartenden Daten nicht richtig repräsentiert, kann es dennoch zu Problemen kommen. Dies gilt insbesondere bei der Darstellung von Memofeldern.

Drucken wenn

Der Klick auf diese Menüoption aktiviert den Ausdruckgenerator, der Ihnen ermöglicht einen Ausdruck festzulegen, mit dem bestimmt werden kann, ob das gewählte Objekt gedruckt wird oder nicht.Das Objekt bzw. die gewählten Objekte werden nur dann gedruckt, wenn der Rückgabewert des Ausdrucks true ergibt

Feld-Gestaltung

 Dieser Menüpunkt ist ausschließlich im Pop-up Menü für Feld-Objekte verfügbar. Mit dem sich öffnenden Dialog können Sie Attribute einstellen, die für Feld-Objekte typisch sind.

Durch Klick auf die Schaltfläche in der Gruppe Ausdruck wird der Ausdruckgenerator aktiviert und gibt Ihnen die Möglichkeit, den aktuellen Ausdruck zu bearbeiten.

In der ersten Spalte der Gruppe Gestaltung können Sie die Ausrichtung des Feld-Objektes festlegen.

Der Ausdruck sortierter Datensätze liefert u. U. inhaltsgleiche Datensätze (Duplikate). Mit der Checkbox Doppelte drucken  haben Sie die Möglichkeit zu entscheiden, ob doppelte Werte gedruckt werden sollen.

Drucken wenn

 Die Checkbox Drucken wenn, arbeitet genauso wie bereits weiter oben in diesem Kapitel beschrieben wurde.

Aktivieren der Option Vertikale Größe bedeutet, daß die Höhe des Feld-Objektes für jeden Datensatz neu berechnet wird. Die Höhe des Feld-Objektes kann  0 sein oder mehrere Seiten umfassen. Diese Option ist besonders für die Darstellung von Memo-Feldern unterschiedlicher Größe nützlich.

•	Achten Sie darauf, daß Sie für das Band in dem sich das Objekt befindet nicht die Option Feste Größe eingestellt haben.

RTF-Text

 Aktivieren Sie die Checkbox RTF-Daten um einen RTF-formatierten Text in Ihren Report einzubetten. Wenn die Daten von einem Ausdruck übergeben werden, kann die Quelle ein Memofeld oder der Rückgabewert einer Funktion sein. Die RTF-Daten müssen im RTF 1.0 Format vorliegen.

•	Unterstützt werden ausschließlich unterschiedliche Schriftarten, Textfarben und Absatzformatierungen.

Hintergrund

 Der Hintergrund von Report-Objekten kann sowohl farbig sein, als auch mit einem Füllmuster bearbeitet werden. Um die erforderlichen Einstellungen vornehmen zu können, wird die Karte Hintergrund eingeblendet, wenn Sie auf die zugehörige Menüoption geklickt haben.

Besonders hilfreich ist, daß Ihre Einstel-lungen sofort sichtbar werden.

Die farbige Gestal-tung des Hintergrundes können Sie mit den RGB-Schiebereglern organi-sieren. Alternativ hierzu ist auch die konkrete Angabe der RGB-Anteile in den zu-gehörigen Eingabefel-dern möglich.

Rahmengestaltung

Dieser Dialog ermöglicht die Rahmengestaltung für ein Objekt. Die Rahmengestaltung kann sehr differenziert gehandhabt werden:Linientyp, Breite und Farbe sind für jede Seite der Umrandung einzeln einstellbar.

Um die Randeinstellungen zu ändern, wählen Sie den gewünschten Linientyp, stellen mit Hilfe der RGB-Schieberegeler die gewünschte Farbe ein und klicken auf die Schaltflächen für die Ränder um die Attribute zuzuweisen.

Auch abgerundete Ecken werden durch aktivieren der Checkbox abgerundete Ecken unterstützt.

Schatten

Durch Zufügen eines Schattens läßt sich ein 3-D-Effekt für das Report-Objekt herstellen (Siehe Abbildung).

Schattenfarbe, -füllung und-lage können mit dem Schatten-Dialog eingestellt werden.

 Benutzen Sie den Richtungsblock um die Position und die Breite des Schattens zu bestimmen.

Füllmuster und Farbe des Schattens können mit den Steuerelementen der Gruppe Schatten-Gestaltung (ausfüllen) organisiert werden. Sehr hilfreich ist wieder, daß Sie die Auswirkung Ihrer Einstellungen sofort auf dem Dialogfenster beobachten können.

Schriftart

Feld und Text-Objekten kann man Schriftattribute zuordnen. Schriftart, Schriftschnitt und den Schriftgrad können u. a. im Schriftart-Dialog eingestellt werden.

Sie können hier außerdem Durchstreichungs- und Unterstreichungseffekte oder die Textfarbe einstellen.

Der Reportgenerator unterstützt alle Schrifttypen. Obwohl Druckerschriften wegen des geringeren Verwaltungsaufwandes während des Druckvorgangs schneller sind, wird die Verwendung von True Type Schriften empfohlen, weil dadurch die beste Übereinstimmung zwischen Druckvorschau und Druck erzielt werden kann (WYSIWYG).

Text anordnen

Mit dieser Option legen Sie fest, wie der Text innerhalb des Verbundrahmens ausgerichtet werden soll.

Sie können den Text linksbündig, zentriert, rechtsbündig oder im Blocksatz innerhalb des Verbundrechtecks ausrichten.

Linien-Typ

Diese Option ist nur für Linien-Objekte verfügbar und ermöglicht die Einstellung von Farbe und Linienstärke. Die Farbe wird wie bereits früher beschrieben via RGB-Schieberegler oder durch Eingabe der Farbwerte in das entsprechende Eingabefeld eingestellt.

•	Die durchgezogene Linie ist die einzige Linie, für die eine Breite größer als 1 gewählt werden kann.

Bildgestaltung

Dieser Dialog ist für die Einstellung von Bild-Attributen zuständig.Klick auf die Schaltfläche in der Gruppe Bild-Definition kann unterschiedliche Reaktionen zur Folge haben:

•	Stammt das Bild aus einer Datei, so erhalten Sie den Öffnen Dialog, mit dem Sie eine andere Bilddatei wählen können.

•	Ist das Bild Rückgabewert eines Ausdrucks, so wird der Ausdruckgenerator aktiviert, mit dem Sie den Ausdruck bearbeiten können.  Außerdem stehen folgende Gestaltungsmerkmale zur Verfügung:

•	Rahmen an Bild anpassen. Hierdurch wird der Rahmen des Bild-Objektes an die Bildgröße angepaßt.

•	Bild auf Rahmengröße strecken. Umgekehrt paßt diese Option das Bild an die vorgegebene Rahmengröße an.

•	Bis Rahmen strecken, Ansicht beibehalten. Diese Option paßt das Bild ebenfalls an die vorgegebene Rahmengröße an. Das Seitenverhältnis des Bildes bleibt aber konstant, so daß Verzerrungen vermieden werden.

•	Bildausschnitt in Rahmen.  Diese Option bewirkt, daß das Bild in Originalgröße in den Rahmen gesetzt wird. Falls das Bild größer als der Rahmen ist, werden überstehende Teile abgeschnitten.

Wenn Sie die Checkbox Bild einfügen aktivieren, wird das Bild Teil der Report-Datei. Sie sind dann nicht mehr darauf angewiesen, daß das Bild als Datei auf dem ausführenden Rechner existiert.

Klick auf die Schaltfläche Quelle aktiviert den gleichen Dialog, den Sie bei der Erstellung des Bild-Objektes erhalten.


Der Objektbetrachter

Der Objekt-Betrachter läßt sich durch Klick auf die Menüoption Werkzeuge, Objekt-Inspektor aktivieren.

Seine Aufgabe ist es, die Report-Objekte des aktuellen Abschnitts grafisch darzustellen und über Einzelheiten der zugehörigen Objekt-Attribute zu informieren. Der Objekt-Betrachter zeigt auch, zu welchem Band jedes Objekt gehört und wo innerhalb der Z-Order es rangiert.

Zur Erklärung der Symbole:

Wenn Sie die rechte Maustaste über einem Report-Objekt klicken, erscheint ein Pop-up Menü mit einer Liste von verfügbaren Optionen für dieses Objekt. Die Beschreibung der Optionen wurde bereits im vorigen Kapitel geleistet. Nähere Informationen zu einem Objekt erhalten Sie durch Klick auf das + Zeichen. Umgekehrt lassen sich Objektinformationen durch Klick auf das - Zeichen reduzieren. Es gibt auch die Möglichkeit, die Objektinformationen eines Bandes ganz zu verbergen. Doppelklicken Sie hierzu auf das Band-Symbol.


Lokale Tabellen

Der Menüpunkt Datei-Einstellungen Abschnitt aktiviert den Abschnitt Einrichten Dialog, mit dem Sie Datenquellen einstellen und verwalten können. Alternativ hierzu können Sie den Einrichten-Dialog auch mit dem Pop-Up Menü aktivieren, daß Sie durch Rechtsklick auf eine Karteilasche am unteren Rand des Arbeitsfensters erhalten.

Typische Arbeiten

Typische Verwaltungsarbeiten sind hinzufügen, entfernen, und Beziehungen zwischen lokalen Tabellen herstellen. Die nachstehende Abbildung zeigt ein Beispiel für den Einrichten-Dialog. In diesem Fall stehen die Tabellen Teilnehm und Hotel in einer Kind-Beziehung zur Tabelle Seminar. Alle Tabellen befinden sich im ersten Abschnitt (Paragraph1: Standard-Report).

Die Bearbeitung der Tabellen erfolgt über Pop-up-Menüs. Zum Aktivieren der Pop-up-Menüs bewegen Sie den Mauszeiger zunächst auf das zu bearbeitende Tabellenobjekt und führen einen Rechtsklick aus. Je nachdem auf welches Tabellen-Objekt Sie geklickt haben, stehen unterschiedliche Optionen zur Verfügung, die im Folgenden besprochen werden sollen.

Neue Kind-Tabelle/SQL-Abfrage

Diese Option ist dafür zuständig, eine Kind-Tabelle oder SQL-Abfrage zur ausgewählten Tabelle hinzuzufügen. Seine Aktivierung leitet den bereits bekannten Prozeß für das Öffnen einer Datenquelle ein; d.h. Sie erhalten den Treiber-Dialog und den Öffnen Dialog um eine neue Datenquelle hinzuzufügen.

Die Beziehung zur Eltern-Kind-Tabelle wird vom Reportgenerator zunächst automatisch festgelegt. Zum Bearbeiten der Eltern-Kind-Beziehung aktivieren Sie bitte die Option Relationen aus dem Pop-up-Menü der Kind-Tabelle oder Abfrage. Die Besprechung dieses Dialogs erfolgt weiter unten in diesem Kapitel

Index

 Diese Option gibt es nur für die primäre Tabelle eines Abschnittes. Wenn für die primäre Tabelle eine Indexdatei existiert, mit der die Sortierfolge festgelegt wird, haben Sie hier die Möglichkeit, diese Indexdatei zu aktivieren. Der Prozeß der Reporterstellung kann schneller ablaufen, wenn Sie eine Indexdatei festlegen, weil der Reportgenerator die Sortierung nicht mehr selbst übernehmen muß.

Zur Auswahl einer Indexdatei wird ein Dialog zur Verfügung gestellt.

 Tragen Sie den Indexdateinamen einschließlich Pfadangabe in das Eingabefeld ein oder wählen Sie eine Datei mit dem Öffnen-Dialog. Der Öffnen-Dialog wird durch Klick auf die Schaltfläche links neben dem Eingabefeld aktiviert. Für Indexdateien im CDX-Format ist zusätzlich die Angabe des Index-Tags erforderlich.

Suchausdruck

Die Option Suchausdruck aktiviert den Ausdruckgenerator. Der Ausdruck, den Sie hier eingeben legt die Startposition des Reports fest. Geben Sie z.B. Seminar.Beginn>ctod(´01.01.97´) ein, wird der erste Datensatz gesucht, der dieses Kriterium erfüllt. Ab dieser Stelle beginnt der Report. Die Anwendung dieser Option setzt natürlich voraus, das ein Index oder eine Sortierfolge existiert. Wird der Ausdruck nicht gefunden, wird auf den Datensatz mit dem nächst größeren Indexausdruck positioniert.Wenn auch dies nicht gelingt, wird an das Dateiende positioniert.

•	Bei der Erstellung einer Sortierfolge wandelt der Reportgenerator numerische Datenfelder in Strings um.

 Das bedeutet, daß der Rückgabewert des Suchausdruckes ebenfalls ein Character-Typ sein muß. Die folgende Tabelle zeigt, wie Suchausdrücke für verschiedene Feldtypen formuliert werden können:

Feld-Typ	Erstellter Ausdruck	Beispiel für Suchausdruck

Numerisch	str(Feldname,Länge,Dezimalstellen)	„200"

Character	upper(Feldname)	„Maier"

Datum	dtos(Feldname)	„25061997"

Logisch	iif(Feldname,"1","2")	„2"

Memo	upper(left(Feldname,51))	„MEMO SEEK"

Solange Ausdruck

Auch der Solange-Ausdruck öffnet den Ausdruckgenerator. Der hier eingegebene Ausdruck bewirkt, daß Ihr Report ab der Startposition solange ausgeführt wird, wie der Rückgabewert des eingegebenen Ausdrucks true ergibt. Der Report wird beendet, wenn der Ausdruck false ergibt oder wenn das Dateiende erreicht ist.

Relationen

Einstellungen, die für die Organisation der Beziehung zwischen Tabellen wichtig sind, werden mit dem Pop-up-Menüpunkt Relationen ermöglicht.

 Zunächst muß in der Gruppe Eltern-Ausdruck und in der Gruppe Kind-Ausdruck ein Ausdruck festgelegt werden. Wenn die automatisch festgelegte Voreinstellung nicht zutrifft, benutzen Sie die Schaltfläche Ändern um den Ausdruckgenerator aufzurufen und den aktuellen Ausdruck zu bearbeiten.

Die Beziehung zwischen beiden Tabellen wird durch die Gleichung

ELTERN-AUSDRUCK = KIND-AUSDRUCK

hergestellt

Der Rückgabewert dieses Ausdrucks muß true sein, damit die in Betracht kommenden Datensätze in Beziehung gesetzt werden können.

Relationstyp

Unterstützt werden die beiden Relationstypen Eins-zu-eins und Eins-zu-viele. Die Eins-zu-eins Relation trifft zu, wenn für jeden Datensatz der Elterntabelle ein und nur ein Datensatz in der Kind-Tabelle existiert. Zum Beispiel gehört zu jeder Artikelnummer genau ein Artikel.

Die " Eins-zu-viele" Beziehung,trifft zu, wenn es für jeden Datensatz der primären Tabelle mehrere Datensätze in der Kind-Tabelle gibt.Als Beispiel für diese Situation betrachten wir eine Kundendatei und eine Verkaufsdatei. Zu jedem Kunden können mehrere verkaufte Artikel gehören.

Relationstyp 1:1

Gehen wir davon aus, daß der Datensatzzeiger innerhalb der Eltern-Tabelle auf dem Datensatz Müller steht. Nach den Angaben innerhalb der Kind-Tabelle hat Kunde Müller 3 Artikel gekauft. Bei der 1:1 Relation wird aber nur

Müller - 32453

gedruckt. Die anderen beiden Artikel werden nicht gedruckt. Der Datensatzzeiger wird nach Druck von Müller - 32453 auf den nächsten Datensatz der Elterntabelle gesetzt. Auch für den nächsten Datensatz wird nur die Zeile

Schmidt - 23455

gedruckt. D.h. bei der 1:1 Relation wird für jeden Datensatz der Eltern-Tabelle genau ein zugehöriger Datensatz der Kind-Tabelle gedruckt.

Relationstyp 1:n

Wir gehen wieder davon aus, daß der Datensatzzeiger innerhalb der Eltern-Tabelle auf dem Datensatz Müller steht. Beim Relationstyp 1:n werden die Datensätze

Müller - 32453

Müller - 63432

Müller - 45657

gedruckt. Dann erst wird der Datensatzzeiger in der Eltern-Tabelle auf den Kunden Schmidt gesetzt. Die nächste Ausgabe wird dann sein:

Schmidt - 23455

Schmidt - 11233

Je nachdem welchen Report Sie herstellen möchten, können Sie entweder die 1:1 oder die 1:n Relation wählen.

Kind-Ausdruck

 Eine Eltern-Kind-Relation kann nur gebildet werden, wenn ein Index für die Kind-Tabelle existiert. Wenn bereits ein Index besteht, der diese Relation unterstützt, kann er durch Auswahl  der Schaltfläche Auswählen festgelegt werden. Existiert noch kein Index, wird er automatisch erstellt.

Es wird empfohlen, mit einem bestehenden Index zu arbeiten, weil dies die Reportbearbeitungszeit erheblich erniedrigt

Index-Tag

Das CDX-Format kann mehrere Indizes in einer Datei enthalten. Wenn Sie dieses Indexformat verwenden, müssen Sie kenntlich machen, welchen Index der Indexdatei Sie benutzen wollen. Benutzen Sie dazu die Schaltfläche Ändern neben dem Index-Tag Informationsfeld.

RDD ändern

Dieser Menüpunkt aktiviert den bereits bekannten Datenbank-Treiber-Dialog. Sie können ggf. einen neuen Datenbanktreiber auswählen. Der benötigte Treiber hängt vom verwendeten Index- und Memofeld-Typ ab.

Der NTX Treiber wird mit NTX-Indexdateien und .DBT Memodateien benutzt.

Der CDX Treiber wird mit CDX Indexdateien und .FPT Memodateien benutzt.

Der MDX Treiber wird mit dBase 4 Index- und Memodateien benutzt.

Teil entfernen

Klick auf diese Option löscht die gewählte Tabelle  u n d  alle Kind-Objekte der Tabelle


SQL-Tabellen

Für die Erstellung von ODBC-Reports erhalten Sie die Möglichkeit das SQL-Query-Objekt bedarfsgerecht einzustellen. Dieses Objekt wird benötigt um Informationen über die ODBC-Quellen zu erhalten. Die Einstellung des SQL-Query Objekt erfolgt im Abschnitt-Einrichten Dialog.

Die Abb. zeigt ein SQL-Query Objekt, daß eine SQL-Tabelle  benutzt (Excel Datei ´Kosten. Tabelle´$) SQL-Tabellen sind Eigenschaften des SQL-Query Objektes, weil eine Query einfach eine Sammlung von in Relation stehenden Tabellen ist.

SQL-Query-Optionen

Die Einstellungsoptionen für SQL-Queries sind wieder über ein  Pop-up Menü verfügbar, das durch Rechtsklick über einem SQL-Query Objekt aktiviert werden kann. Die verfügbaren Menüpunkte des Pop-up Menüs werden im Folgenden beschrieben.

Neue Kind-Tabelle/SQL-Abfrage

Diese Option aktiviert den bereits bekannten Datenbanktreiber-Dialog. Wählen Sie hier SQL Data Source um eine SQL-Quelle hinzuzufügen. Sie erhalten eine SQL-Quellen-Auswahl, die je nach Konfiguration Ihres PC´s unterschiedlich aussehen kann:

SQL-Quellendialog

 Wenn  Sie die gewünschte Datenquelle ausgewählt haben, wird der Datei-Öffnen-Dialog aktiviert, mit dem Sie die hinzuzufügende Datei auswählen können.

Relationen

Wenn Sie eine Query hinzufügen, erstellt der Reportgenerator automatisch die Eltern - Kind Beziehung. Diese Relation kann mit der bereits beschriebenen Option Relationen bearbeitet werden.

Anmeldename

Diese Option aktiviert einen Dialog, mit dem Sie einen Anmeldenamen und ein Kennwort für die Verbindung mit dem SQL-Server festzulegen können

Die hier festgelegte Anwender-Kennung und das Kennwort wird zur Herstellung der Verbindung  zum Server benutzt, wenn der Report das nächste mal geöffnet wird.

SQL einrichten

Das SQL-Select Statement kann bearbeitet werden, um vollständige Kontrolle über den Prozess der Datengewinnung zu erhalten. Die Bearbeitungsmöglichkeiten sind in Abschnitte unterteilt, die im Folgenden besprochen werden.

Der SQL-Dialog

Select

Normalerweise erhält der Reportgenerator nur Spalten von einer SQL-Datenquelle. Falls die Datenquelle auch berechnete Spalten unterstützt, gibt Ihnen das Eingabefeld Select die Möglichkeit  berechnete Spalten und Systemvariablen von einer SQL-Datenquelle zu erhalten.

Hier festgelegte Spalten sind in einem Reportausdruck durch Aufruf der Funktion RpSQLCol() verfügbar. Wenn Sie z.B. Count(*) eingeben, können Sie auf diese Spalte mit RpSQLCol(1) zugreifen

From

In diesem Feld kann die SQL-From Klausel bearbeitet werden.

•	Normalerweise sind Änderungen in diesem Feld nicht erforderlich, weil der Reportgenerator diese Information automatisch verwaltet.

Where

In diesem Feld kann die Where-Klausel bearbeitet werden.

•	Normalerweise sind Änderungen in diesem Feld nicht erforderlich, weil der Reportgenerator diese Information automatisch verwaltet.

Filter

In diesem Feld kann die Filterbedingung für die Where-Klausel bearbeitet werden. Es wird empfohlen, das Filterkriterium auf Abschnittsebene festzulegen wenn Sie eine einzelne SQL-Query benutzen. Sie erreichen die entsprechende Pop-up Menüoption durch Rechtsklick auf die entsprechende Abschnittslasche.Wenn in diesem Pop-up Menü die Option Filter optimieren gewählt wurde, wird der Abschnittsfilter automatisch an die SQL-Quelle weitergegeben.

Group by

In diesem Eingabefeld bekommen Sie die Möglichkeit die Klausel Group by zu bearbeiten.

•	Diese Angaben werden direkt an die SQL-Quelle weitergegeben und vom Reportgenerator nicht weiterverarbeitet.

Having

Mit diesem Eingabefeld können Sie die SQL-Having Klausel bearbeiten.

•	Diese Angaben werden direkt an die SQL-Quelle weitergegeben und vom Reportgenerator nicht weiterverarbeitet

Order by

Ändern Sie hier ggf., die SQL Order by Klausel. Die Sortier-Informationen werden vom Reportgenerator über die Option Sortierfolge des Hauptmenüs oder den Abschnitts Pop-up Menüpunkt Sortierung automatisch verwaltet.

Sollten Sie in einem Abschnitt Option Sortierung optimieren gewählt haben, wird die Abschnittssortierung automatisch an die SQL-Quelle weitergegeben.

•	Ändern Sie diesen Abschnitt nur dann, wenn die Ergebnisse auf Abschnittsebene nicht korrekt sind.

Union

Ändern Sie hier ggf. die Union-Klausel.

•	Diese Angaben werden direkt an die SQL-Quelle weitergegeben und vom Reportgenerator nicht weiterverarbeitet

Distinct

Ist diese Checkbox aktiv, wird der Reportgenerator  „SELECT DISTINCT..." verwenden.

Verw. immer

Wenn Sie diese Checkbox aktivieren, wird der Reportgenerator „SELECT *" verwenden anstatt die expliziten Spaltennamen zu benutzen.

String begr.

In diesem Eingabefeld können Sie die Character-Begrenzer für die Spaltennamen ändern. Diese Information sollte normalerweise nicht verändert werden. Sie wird vom ODBC-Treiber automatisch ermittelt.

SQL anzeigen

Nach Klick auf diese Schaltfläche können Sie sich das vollständige SQL Select Statement ansehen. In der hier gezeigten Form wird es an die Datenquelle geschickt.ð Abschnittssortierung und Filterinformationen werden nicht in das Select Statement aufgenommen !

SQL testen

Ein Klick auf diese Schaltfläche schickt das SQL-Statement an die SQL Quelle. In einem Dialogfenster wird gezeigt ob das Statement erfolgreich ausgeführt wurde.  Mißlingt die Ausführung,  wird eine Fehlermeldung ausgegeben.

SQL Tabellenoptionen

Auch SQL-Tabellen können im Abschnitt Einrichten Dialog eingestellt werden. Im Folgenden werden alle Optionen beschrieben, die Ihnen zur Verfügung stehen:

Neue Kind SQL-Tabelle

Mit diesem Menüpunkt können Sie zur gewählten SQL-Query eine neue Kind- Tabelle hinzufügen.

•	Eine Relation zwischen Eltern und Kind-Tabelle wird automatisch. Erstellt.

Item entfernen

Diese Option entfernt die gewählte SQL-Tabelle.

•	Wenn Sie eine SQL-Tabelle entfernen, werden auch alle Kind-Objekte entfernt.

Relationen

Die Frage wie Tabellen in Relation gesetzt werden, überläßt SQL dem Server.

Der SQL Relationen Dialog beschränkt sich deshalb auf die Festlegung von Bedingungen, die die Relation beschreiben. Der Dialog enthält drei Listboxen. Die linke Listbox enthält die Spalten der Eltern-Tabelle, die rechte Listbox enthält die Spalten der Kind-Tabelle. Die mittlere Listbox enthält den Operator, der die Beziehung zwischen Eltern und Kind-Tabelle kennzeichnet. Durch Klick auf die Schaltfläche Neu wird eine neue Zeile zu den Listboxen hinzugefügt. Die Comboboxen unterhalb der Eltern- bzw. Kind-Listboxen werden benutzt, um die Eltern- bzw. Kind-Spalte zu ändern.

Der Relations-Operator kann durch Klick  auf die gewünschte Schaltfläche in der Gruppe Relations-Attribute festgelegt werden.Die Schaltfläche Entfernen wird benutzt, um eine Relationsbedingung zu entfernen.Die Gruppe Join-Typ  ermöglicht Ihnen einen SQL Join Typ auszuwählen.

•	Der Join-Typ ist serverabhängig und wird möglicherweise nicht von allen Servern unterstützt.

•	Die Option Inner Join erzeugt ein SQL 1.0 kompatibles SELECT Statement. Alle anderen Optionen erzeugen ein SQL 2.0 kompatibles Statement.


Kreuztabellen

Kreuztabellen sind speziell aufbereitete Tabellen um Auswertungen bzw. Analysen zu erleichtern.

Der Assistent

Es gibt zwei Menüpunkte, die Ihnen ermöglichen Kreuztabellen herzustellen. Beide befinden sich im Menü Datei-Neu. des Umgebungsfensters.Wir besprechen zuerst die Erstellung von Kreuztabellen mit Hilfe des Kreuztabellen-Assistenten:

Durch Klick auf den Menüpunkt Datei-Neu-Kreuz.Tab.-Assistent aktivieren Sie einen Karteireiter-Dialog mit dessen Hilfe Sie alle erforderlichen Einstellungen für die Kreuztabelle durchführen können

Die Karten Titel, Datenquelle und Filterung wurden bereits beim Standard-Report-Assistent besprochen

Karte Kreuz.Tab.

Die Karte Kreuz-Tab. ermöglicht Ihnen, die für die Kreuztabelle erforderlichen Ausdrücke festzulegen. Einzugeben sind eine Zeile, eine Spalte und ein Summenausdruck. Die Eintragungen können per Hand oder mit Hilfe des  Ausdruckgenerators eingegeben werden. Um den Ausdruckgenerator zu aktivieren, klicken Sie auf die Schaltfläche rechts neben dem Eingabefeld

Picture-Klauseln

Zur formatierten Ausgabe Ihrer Ausdrücke können Sie unterhalb des jeweiligen Eingabefeldes eine Picture-Klausel festlegen. Welche Möglichkeiten der Formatierung mit Hilfe von Picture-Klauseln bestehen kann im entsprechenden Kapitel nachgelesen werden

Zeilen- und Spaltenausdruck

•	Der Reportgenerator wertet den Zeilenausdruck für alle Datensätze der Datenquelle aus. Jeder vorkommende Wert wird einmal in eine Zeile der Kreuztabelle aufgenommen.

•	Der Reportgenerator wertet den  Spaltenausdruck für jeden Datensatz der Datenquelle aus. Jeder vorkommende Wert wird einmal in eine Spalte der Kreuztabelle aufgenommen.

Zeilen- u. Spaltenausdrücke werden kreuzverbunden und mit dem Summenausdruck zusammengefaßt.

Mathematische Berechnungen

Um mathematische Berechnungen mit dem Summenausdruck durchführen zu können, stehen in der Listbox Summen-Funktion 5 verschiedene mathematische Funktionen zur Verfügung: Durchschnitt, Zählen, Minimum, Maximum u. Summieren. Da Durchschnitt und Summe Operationen sind, die nur in numerischen Ausdrücken sinnvoll benutzt werden können, erscheinen diese Funktionen nicht, falls der Summenausdruck keinen numerischen Rückgabewert hat.

Karte Seite einrichten

Mit der Karte Seite einrichten können Sie Ränder, Papiergröße und -format festlegen

Das  Maß der Ränder ist inch oder cm je nachdem wie der Reportgenerator konfiguriert wurde.

Mit den Einstellungen in der Gruppe Papiergröße können die Papiergröße, Papierquelle und Format für den aktuellen Abschnitt festgelegt werden. Welche Optionen zur Auswahl angeboten werden, hängt von den Möglichkeiten des installierten Windows-Standard Druckers ab.

Größe anpassen

Wenn Sie auf die Checkbox Größe anpassen klicken, werden die Eingabefelder Länge und Breite verfügbar. Sie können dann individuelle Papiergrößen eingeben.

•	Beachten Sie bitte, daß anwenderdefinierte Papiergrößen von den meisten Druckern nicht unterstützt werden. Wenn Ihr Drucker anwenderdefinierte Papiergrößen unterstützt, können Sie diese Option nutzen um individuelle Größen von Etiketten einzustellen.

Kreuztabellen über den Menüpunkt Datei-Neu-Kreuz-Tab.-ReportDie zweite Möglichkeit einen Kreuztabellen-Report zu erstellen erhalten Sie mit dem o.g. Menüpunkt. Wenn Sie diesen Menüpunkt aktivieren, erhalten Sie sofort den Kreuztabellen-Dialog, der Ihnen die Eingabe des Zeilen-, Spalten- u. Summenausdrucks erlaubt.

•	Im Unterschied zum Assistenten bekommen Sie in diesem Menüpunkt nicht den Karteireiterdialog gezeigt, der zu Beginn des Kapitels beschrieben wurde.


Etiketten

Der Assistent

Auch für die Erstellung von Etiketten-Reports stehen zwei Menüpunkte im Menü des Umgebungsfensters zur Verfügung: Datei-Neu-Etiketten-Assistent bzw. Datei-Neu-Etiketten-Report. Wenn Sie den Assistenten aktivieren, erhalten Sie einen Karteireiterdialog, der dem Dialog für die Standardreports sehr ähnlich ist. Wesentlicher Unterschied ist die Karte Etikett:

Einstellmöglichkeiten

Stellen Sie zunächst den gewünschten Etikettentyp ein. Sie werden sehen, daß sich die Felder Höhe, Breite, Horizontaler bzw. Vertikaler Abstand und Spalten automatisch dem gewählten Standard-Typ anpassen. Die einzigen Einstellungsmöglichkeiten beziehen sich auf die Angabe der Etikettenanzahl pro Datensatz und auf die Entscheidung, ob die Etiketten von links nach rechts oder von oben nach unten gedruckt werden sollen.

Anwenderdefiniertes Format

Sollte der von Ihnen gewünschte Etikettentyp nicht in der Listbox vorhanden sein, wählen Sie den letzten Eintrag dieser Listbox „anwender-definiertes Format". Sie werden bemerken, daß sich dann auch die Felder Höhe, Breite, Horizontaler bzw. Vertikaler Abstand und Spalten bearbeiten lassen. Tragen Sie nun die zu Ihrem Etikettentyp passenden Werte ein.Mit der Karte Felder entscheiden Sie, welche Datenfelder auf dem Etikett erscheinen sollen. Die weitere Bearbeitung des Reports entspricht den bereits im Kapitel Standard-Reports beschriebenen Arbeitsgängen.

•	Der Menüpunkt Datei-Neu-Etiketten-Report blendet sofort das Etiketten-Auswahlfenster ein. Sie müssen dann nur noch die zugrundeliegende Tabelle auswählen und können den Etikettenreport dann wie einen Standard-Report im Arbeitsfenster weiterbearbeiten.


ReportPro

Die Aktivierung der Einstellungen für den Reportgenerator erfolgt mit dem Menüpunkt Datei-Einstellungen-ReportPro im Menü des Umgebungsfensters. Sie erhalten den Einstellungen-Dialog:

OEM/Ansi

Wenn Sie diese Checkbox aktivieren, wird der Reportgenerator Dateien die im OEM-Format vorliegen automatisch in das ANSI-Format konvertieren.

Gelöschte Datensätze

Ist die Checkbox „Gelöschte Datensätze verwenden" aktiv, werden auch die als gelöscht markierten Datensätze im Report berücksichtigt.

Epoche

Mit Aktivierung dieser Checkbox entscheiden Sie, ob die Jahreszahl in Datumsangaben vierstellig (01.01.1998) oder zweistellig (01.01.98) ausgegeben wird.

Maße

Wenn Sie die Checkbox „Metrische Maße" aktivieren, werden alle Maßeinheiten in cm angegeben. Ist die Checkbox nicht aktiv, werden alle Maße in INCHES angegeben.

Report-Pfad

Im Eingabefeld „Standard-Verzeichnis für Reports" können Sie angeben, in welchem Verzeichnis sich Ihre Reports befinden.

Daten-Pfad

Im Eingabefeld „Pfad für Tabellen" können Sie angeben, in welchem Verzeichnis sich Ihre Daten-Dateien befinden.

Temp-Pfad

Mit den Eintragungen im Eingabefeld „Pfad f. temp. Dateien" entscheiden Sie, wo der Reportgenerator temporäre Dateien ablegt.

Einstellmöglichkeiten für die „Zeichenbewertung" ist WINDOWS oder CLIPPER. Benutzen Sie die Einstellung CLIPPER um den Reportgenerator zu veranlassen, Indexdateien zu generieren/benutzen, die zu CA-ClipperTM kompatibel sind. Die Einstellung „WINDOWS" bewirkt die Erstellung von Indexdateien, die zu internationalen Länderzeichen kompatibel sind.

Schriftart

Mit Klick auf die Schaltfläche „Schriftart" erhalten Sie die Möglichkeit, über die bekannten Dialoge den Standardschrifttyp zu verwenden. Der Reportgenerator wird die hier eingestellten Schriftattribute als Voreinstellung benutzen.

RDD´s

Der Abschnitt Datenbanktreiber gibt Ihnen die Möglichkeit, zusätzliche Datenbank-Treiber zu benutzen.

•	Alle Einstellungen, die Sie in diesem Dialog einstellen, werden in der Datei RpWin.ini gespeichert und beim Start des Reportgenerators beachtet.


Abschnitte

 Unter einem Abschnitt versteht man einen Unter-Report, der im primären Report eingebettet wird. Sie können sich einen Abschnitt also als „Report im Report vorstellen" Um Ihnen das Einstellen von Abschnitts-Optionen zu ermöglichen, wählen Sie den Menüpunkt Abschnitt aus dem Menü Datei, Einstellungen. Sie erhalten einen bereits besprochenen Dialog.

Die im Abschnitt verwendeten Objekte werden in diesem Dialog hierarchisch angeordnet und durch Linien verbunden. Untergeordnete Objekte, auch Kind-Objekte genannt, werden etwas stärker eingerückt. Näheres zur Bedeutung der Linien und der darin enthaltenen + bzw . - Zeichen kann im Kapitel „Der Objektbetrachter" nachgelesen werden.

Um detaillierte Informationen über ein Objekt zu bekommen, können Sie einen Linksklick auf das gewünschte Objekt ausführen. Nähere Informationen zum gewählten Objekt werden dann im unteren Rand des Dialogfensters gezeigtDie Möglichkeit Einstellungen für einen Abschnitt vorzunehmen bekommen Sie nach Rechtsklick auf  das Abschnitt-Symbol: Sie erhalten ein Pop-up Menü dessen Optionen im Folgenden beschrieben wird.

Neuer Abschnitt

Mit diesem Menüpunkt können Sie dem Report einen neuen Abschnitt hinzufügen. Sie erhalten einen Dialog, mit dessen Hilfe Sie den Typ des neuen Abschnittes festlegen können.

In diesem Dialog werden u.U. nicht immer alle der oben abgebildeten Abschnittstypen zur Auswahl angeboten.

•	Da ein Report z.B. nur eine Titelseite haben kann, wird die Option Titel nicht mehr angezeigt, wenn bereits eine Titelseite existiert.

Der Abschnittstyp Summe wird gedruckt, nachdem alle anderen Abschnitte gedruckt wurden. Benutzen Sie diesen Typ, wenn Sie zusammenfassende Informationen in Ihren Report aufnehmen möchtenNach Klick auf OK, wird ein Abschnitt des gewählten Typs in Ihren Report eingebettet.

Gesteuerte Abschnitte

Wenn Sie die Checkbox „gesteuert" aktivieren, erhalten Sie einen Abschnitt, der Kind des zuvor markierten Objektes wird. Gesteuerte Abschnitte werden in Abhängigkeit eines Ausdrucks gedruckt. Wenn der Steuer-Ausdruck beispielsweise die ID-Nummer eines Verkäufers ist, werden die zugehörigen Abschnittsinformationen immer dann gedruckt, wenn sich die ID-Nr. des Verkäufers ändert. Da gesteuerte Abschnitte nicht für Titel- bzw. Summenabschnitte sinnvoll sind, ist die Checkbox „gesteuert" für diese Abschnittstypen nicht aktivierbar.

Wenn Sie einen Abschnitt vom Typ Standard, Etiketten/Spalte oder Kreuz-Tabellen einfügen wollen, werden Sie außerdem zusätzlich nach Datenbanktreiber. bzw. Datenbankinformationen gefragt.Wenn Sie die Option „gesteuert" gewählt haben, werden Sie außerdem noch aufgefordert, mit Hilfe des Ausdruckgenerators einen Steuerausdruck einzugeben.

Bei Auswahl eines Kreuz-Tabellen -Abschnittes, erhalten Sie außerdem den bereits in Kapitel „Kreuztabellen-Reports" beschriebenen Dialog in dem Sie Angaben zum Zeilen-/Spalten und Summenausdruck angeben können.

Abschnitt entfernen

Mit dieser Option können Sie den gewählten Abschnitt entfernen. Zwei Dinge gibt es dabei zu beachten:

•	Der letzte Abschnitt kann nicht entfernt werden (ohne Titel und Summenabschnitt)

•	Wenn Sie einen Abschnitt entfernen, werden auch alle Kind-Abschnitte entfernt.

Wenn Sie nur noch einen Abschnitt im Report haben, wird die Option „Abschnitt entfernen" im Pop-Up-Menü nicht mehr angezeigt.

Seitenkopf- und Seitenfußbänder

Wenn Sie mit dieser Option festlegen, daß der neue Abschnitt  Seitenkopf- und Seitenfußbänder hat, wird er auf eine neue Seite gedruckt. Hat ein Abschnitt keine Seitenkopf- und Seitenfußbänder, wird er auf dieselbe Seite wie der Elternabschnitt bzw. Vorgängerabschnitt gedruckt. Die Seitenattribute bzw. Attribute des Hintergrundbandes werden in diesem Fall vom vorhergehenden Abschnitt übernommen.

Drucken wenn

Diese Option aktiviert den Ausdruckgenerator. Sie haben darin die Möglichkeit, einen Ausdruck festzulegen, der den bedingten Druck des Abschnittes ermöglicht. Ist der logische Ausdruck wahr, wird der Abschnitt gedruckt, andernfalls wird der Abschnitt nicht gedruckt.

Seite einrichten

Der Dialog Seite einrichten ermöglicht Ihnen Papiergröße, Format und Randgrößen einzustellen.

•	Beachten Sie bitte, daß sich die Werte in der Gruppe Ränder entweder auf inch oder auf cm beziehen; je nachdem welche Systemeinstellungen Sie vorgenommen haben

Die Option Seite einrichten gibt es nur für Abschnitte mit Seitenkopf/-Seitenfuß-Band und  für Titelabschnitte.

Die Auswahlmöglichkeiten in der Gruppe Papier-Größe entsprechen den Vorgabewerten des aktuellen Druckers. Achten Sie bei Änderungen innerhalb dieser Gruppe darauf, daß Ihr Drucker die eingestellten Optionen unterstützt. Insbesondere die Einstellungen Länge und Breite, die durch Aktivieren der Checkbox „Größe anpassen" editierbar sind, werden nur von wenigen Druckern unterstützt.

Steuerung

Die Option Steuerung erscheint nur für gesteuerte Abschnitte (siehe Neuer Abschnitt). Sie können nach Auswahl dieser Option den Steuerausdruck für den gesteuerten Abschnitt bearbeiten.

Etiketten/Spalten einrichten

Sie aktivieren durch Auswahl dieses Menüpunktes den bereits im Kapitel „Etiketten-Reports" beschriebenen Etiketten/Spalten Einrichten Dialog. Legen Sie hier Etiketten oder Spaltenmerkmale für einen Abschnitt fest

Sortierung / Sortierung optimieren

Benutzen Sie diese Option, um Ihren Report in sortierter Reihenfolge auszugeben. Der Sortierfolge-Dialog wird in Kap. 2 näher beschrieben.

Wenn Sie die Option Sortierung optimieren gewählt haben, überläßt der Reportgenerator die Sortierung dem Datenbanktreiber um die Ablaufgeschwindigkeit erheblich zu erhöhen. Wenn der Treiber die Daten nicht sortieren kann, wird die Sortierung automatisch durch den Reportgenerator erstellt.

•	Sollten Sie keine zufriedenstellende Ergebnisse durch die Option Sortierung optimieren erhalten, sollten Sie diese Option deaktivieren.

Filter / Filter optimieren

Die Option Filter aktiviert den Ausdruckgenerator. Sie können hier einen logischen Ausdruck eingeben. Dadurch wird jeder Datensatz daraufhin überprüft, ob er das von Ihnen festgelegte Kriterium erfüllt oder nicht.

•	Es erscheinen nur die Datensätze auf Ihrem Report, die die eingegebene Filterbedingung erfüllen.

Wenn Sie die Option Filter optimieren gewählt haben, überläßt der Reportgenerator das Filtern dem Datenbanktreiber um die Ablaufgeschwindigkeit erheblich zu erhöhen. Wenn der Treiber die Daten nicht filtern kann, wird das Filtern automatisch vom Reportgenerator übernommen.

•	Sollten Sie keine zufriedenstellende Ergebnisse durch die Option Filter optimieren erhalten, sollten Sie diese Option deaktivieren.


Reports

Reports einstellen

Wenn Sie Eintragungen im Feld Titel vornehmen, so werden diese Eintragungen gemeinsam mit dem Dateinamen des Reports in der Titelzeile des Arbeitsfensters angezeigt. Weitere Bedeutungen haben Eintragungen in diesem Feld nicht.

Kommentare

Im Eingabefeld Kommentare können Sie persönliche Notizen eintragen. Tragen Sie hier beispielsweise Bemerkungen über den Zweck des Reports ein; oder wann bzw. durch wen der Report erstellt wurde.

Falls Sie Reports in eine Datei drucken möchten, können Sie im Feld Name der Druckdatei einen Namen für die Druckdatei eintragen, der in späteren Druck-Dialogen als Voreinstellungswert benutzt wird.

Raster

In der Gruppe Rasterauflösung kann die Rasterauflösung eingestellt werden, die im Arbeitsfenster benutzt werden soll. Sie können die Maße als inch bzw. cm oder Pixel eingeben.

•	Beachten Sie bitte, daß der Wert im Eingabefeld „Zoll" entweder einen Wert in inch oder in cm enthält. Je nachdem welche Einstellungen Sie im Dialog „ReportPro konfigurieren" gemacht haben.

Paßwortschutz

Sie können Ihren Report mit einem Paßwort schützen, und so selbst entscheiden, wer den Report benutzen darf. Tragen Sie dazu im Eingabefeld Kennwort ein Kennwort ein. Sie werden aus Sicherheitsgründen aufgefordert das Paßwort erneut einzugeben.  Wenn Sie einen kennwortgeschützten Report später öffnen, wird zuerst das Kennwort erfragt.

•	Achtung: Ohne Kennwort ist der Report nicht mehr zugänglich. Verwahren Sie es deshalb sorgfältig!


Drucker

Den Drucker - Einrichten Dialog erhalten Sie über die Menüoption Datei Einstellungen Drucker des Arbeitsmenüs

Name

In dieser Listbox sind alle im System installierten Drucker aufgeführt. Wählen Sie zunächst den Drucker aus, für den Sie Einstellungen vornehmen möchten.

Eigenschaften

Die Schaltfläche Eigenschaften ist aktivierbar, wenn Ihr Drucker über zusätzliche Einstellmöglichkeiten verfügt. Der sich zeigende Dialog wird im letzten Kapitel beschrieben

Papier

In der Steuergruppe Papier haben Sie die Möglichkeit das Papierformat einzustellen und zu entscheiden, von welchem Papierschacht der Drucker sein Papier ziehen soll. Die Eingabe dieser Option macht natürlich nur Sinn, wenn Ihr Drucker mehrere Papierschächte unterstützt.

Format

Entscheiden Sie hier, ob Ihr Report im Hochformat oder im Querformat ausgegeben werden soll. Wenn Ihr Report mehrere Abschnitte enthält, werden Sie zusätzlich gefragt, ob die Änderungen für alle Abschnitte gelten sollen oder nur für den gerade aktuellen Abschnitt.


Der Ausdruckgenerator

Der Ausdruckgenerator ist der wichtigste und am häufigsten benutzte Dialog des Reportgenerators. Er wird zum Reportdesign benutzt, zum Erstellen von Variablen, zur Festlegung von Filter- oder Abschnittsausdrücken und zu vielen anderen Gelegenheiten.

Beispiele

Beispiele für Ausdrücke sind:

•	Seminar.Name

•	Seminar.Plz>50000 .and. Seminar.Plz<80000

•	alltrim(Teilnehmer.Vorname)+´´  ´´+alltim(Teilnehmer.Nachname)

Im ersten Beispiel wird das Feld Name der Datenbank Seminar als einfacher Ausdruck benutzt.

Im zweiten Beispiel, das für einen Filter benutzt werden könnte, wird ein Ausdruck benutzt, der alle Postleitzahlen zwischen 50000 und 80000 beschreibt.

Im letzten Beispiel werden aus den Feldern Vorname und Nachname der Datenbank Teilnehmer alle Leerzeichen entfernt (alltrim)  und dann Vor- und Nachname mit dem ´+´-Zeichen zu einem zusammengehörigen Textfeld verbunden.

Wie man diesen Beispielen entnehmen kann, werden Ausdrücke mit Hilfe von Operatoren, und Funktionen gebildet, die der Ausdruckgenerator zur Verfügung stellt:

Die Listbox Felder

In dieser Listbox befinden sich alle zur Verfügung stehenden Datenbankfelder

Die Listbox Variablen

In Ergänzung zu den zur Verfügung stehenden Datenbankfeldern, stehen in dieser Listbox die von Ihnen definierten Variablen bereit. Benutzen Sie die Variablen genauso wie Datenbankfelder.

Tabellenauswahl

In der Listbox Tabellenauswahl befinden sich alle Tabellen, die Sie für die Gestaltung des Reports ausgewählt haben. Sie können sich davon überzeugen, indem Sie die Listbox aufklappen. Wenn Sie eine der dann sichtbar werdenden Tabellen auswählen, werden nur noch die Felder der gewählten Datenbank innerhalb der Listbox angezeigt. Die Felder aller anderen Datenbanken sind dann nicht mehr sichtbar. Der Vorteil der Möglichkeit die Ansicht der Felder zu reduzieren liegt in der größeren Übersicht, die dadurch erzielt wird. Wenn Sie die Option <alle Tabellen> wählen, werden wieder die Felder aller Tabellen in der Listbox Felder sichtbar.

Die Listbox Funktionen

Wie man an den einleitenden Beispielen sehen konnte, stehen für die Bildung von Ausdrücken Funktionen zur Verfügung. Es ist eine der hervorragendsten Eigenschaften des Reportgenerators, daß er eine Vielfalt von über 70 Funktionen für die Bildung von Ausdrücken zur Verfügung stellt.

Operatoren

Neben den zahlreichen Funktionen stehen auch noch eine Reihe von Operatoren zur Verfügung, mit denen Verknüpfungen hergestellt werden können. Es sind dies die Operatoren

•	gleich, kleiner, größer

•	plus, minus, mal, geteilt

•	Klammersetzung

•	und - oder - nicht

Ausdruck

Im Eingabefeld für den Ausdruck, am unteren Rand des Dialogs können Sie den Ausdruck eingeben. Datenbankfelder, Variablen oder Funktionen lassen sich per Doppelklick in dieses Feld übernehmen. Die Übernahme von Operatoren erfolgt durch Klick auf die entsprechende Operator-Schaltfläche.

OK

Mit der Schaltfläche OK übernehmen Sie den erstellten Ausdruck. Sollte der Ausdruck fehlerhaft sein, bekommen Sie eine Fehlermeldung

Abbrechen

Mit der Schaltfläche Abbrechen verlassen Sie den Ausdruckgenerator. Ein ggf. erstellter Ausdruck wird verworfen.

Löschen

Benutzen Sie die Schaltfläche Löschen, wenn Sie den Dialog des Ausdruckgenerator nicht verlassen, aber das Eingabefeld für den Ausdruck löschen möchten

Testen

Mit der Schaltfläche Testen können Sie prüfen, ob der von Ihnen eingegebene Ausdruck fehlerhaft ist oder verwendet werden kann.

Feldinhalte zeigen

Wenn Sie einen schnellen Einblick benötigen, was ein Datenbankfeld eigentlich beinhaltet, benutzen Sie die Schaltfläche Feldinhalte zeigen. Der Reportgenerator zeigt Ihnen dann die Inhalte der ersten Datensätze des gewählten Datenbankfeldes

Ausdrücke bilden

Um Ausdrücke bilden zu können, stehen Datenbankfelder, Funktionen, Operatoren Konstanten und Variablen zur Verfügung. Für Konstanten und Variablen ist weiter zu beachten, daß deren Datentyp unterschiedlich sein kann. Wir werden die Unterschiede im Folgenden besprechen

Character

Variablen/Konstanten vom Typ Character enthalten 0 oder mehr alphanumerische Zeichen. Sie können Daten vom Typ Character verwenden um Namen, Adressen, Telefonnummern etc. darzustellen. Zur Kennzeichnung des Character-Typs werden Character-Informationen in Ausdrücken  in Anführungszeichen geschrieben. Beispiele für Ausdrücke in denen der Character-Typ benutzt wird sind:

•	Padl("123",5,"0") ergibt "00123"

•	Right("Computerprogramm",8) ergibt "programm"

Daten vom Typ Character, deren Zeichenlänge gleich 0 ist, werden durch zwei aufeinanderfolgende Anführungszeichen  (z.B.: "" ) gekennzeichnet

Numerisch

Der Datentyp Numerisch wird verwendet, wenn mathematische Operationen ausgeführt werden sollen (z.B.: Addition, Subtraktion, Multiplikation und Division)Ein numerischer Datentyp kann die Ziffern 0-9, einen Dezimalpunkt und ein + oder - Zeichen enthalten um das Vorzeichen darzustellen

Beispiele

•	Str(27.3  ,  4  ,  1) ergibt "27.3"   Beachten Sie, daß die 27.3 im Funktionsausdruck   k e i n e   Anführungszeichen besitzt !

•	Val("27.3") ergibt 27.3    Beachten Sie, daß das Ergebnis der Funktion Val k e i n e   Anführungszeichen besitzt !

•	-27.35  oder  600   oder -600 sind weitere Beispiele für numerische Werte.

Da durch Anführungsstriche Charcter-Werte repräsentiert werden, sind bei numerischen Werten keine Anführungsstriche erlaubt.

Datum

Der Datentyp Datum repräsentiert ein Kalenderdatum. Datumswerte können nicht direkt in Ausdrücken verwendet werden. Zur Weiterverarbeitung ist es erforderlich, Datumswerte in einen Character-Typ umzuwandeln. Die zugehörige Funktion heißt Date TO Character

•	DTOC (Seminar.Datum) wandelt das Datenbankfeld von Typ Datum in einen Character-Wert um.

Weitere Funktionen zur Bearbeitung des Typs Datum sindCMONTH(), DAY(), DOW(), DTOC(), HOURSBETWEEN() und andere

Logisch

Der Datentyp Logisch wird als Datentyp definiert, der nur die Werte wahr (.t.) oder falsch (.f.)  annehmen kann. In einem Ausdruck wird der Datentyp Logisch durch ein .t. oder .f. dargestellt. Es gibt einige Funktionen, deren Rückgabewert vom Typ Logisch ist: IsAlpha(),  IsBetween(), Empty() u.a.In Filterbedingungen ist es z.B. erforderlich einen Ausdruck anzugeben, dessen Rückgabewert Logisch ist.

•	Der Ausdruck   Teilnehmer.Name="Maier" prüft, ob der Inhalt des Feldes Name aus der Datenbank Teilnehmer gleich Maier ist. Das Ergebnis dieser Prüfung ist entweder .f. oder .t. - also ein logischer Wert.

Konstanten

Konstanten lassen sich auffassen als Variablen, die die Besonderheit haben, ihren Wert   n i e   zu ändern. Das bedeutet, daß der einmal zugeordnete Wert während der gesamten Reportverarbeitung erhalten bleibt.

Variablen

Variablen sind, wie bereits an anderer Stelle beschrieben, temporäre Datenspeicher deren Wert sich während der Reportverarbeitung ändern kann.     Variablen können nur Daten aufnehmen, die von einem der oben beschriebenen     Datentypen sind.

Datenbankfelder

Auch Datenbankfelder werden wie Variablen behandelt. Sie können Ihre Werte aber nur aus der zugehörigen Datenbank beziehen. Eine Wertzuweisung zu einem Datenbankfeld z. B. über einen Ausdruck ist nicht erlaubt. Um Datenbankfelder von Variablen besser unterscheiden zu können, stellt man dem Feldnamen den Namen der Datenbank voran und trennt die beiden Namen durch einen Punkt.Seminar.Name beschreibt somit das Datenbankfeld Name aus der Datenbank Seminar.

Funktionen

Für die Anwendung von Funktionen ist es hilfreich, wenn man ihren grundsätzlichen Aufbau versteht:" Funktionen haben drei wesentliche Teile:

•	Funktionsname
Der Funktionsname gibt Aufschluß darüber, welchen Zweck die Funktion erfüllt. Die Funktion Left(„Computerprogramm",7) beispielsweise bearbeitet den linken Teil (Left) des Textes „Computerprogramm"

•	Argumente
An Funktionen werden oft Argument(e) übergeben. Im Falle der Funktion mit dem Namen Left werden zwei Argumente übergeben. Das erste Argument ist ein Text oder eine Variable vom Typ Character. Das zweite Argument ist eine Zahl oder eine Variable vom Typ Zahl. Beide Argumente werden durch ein Komma getrennt und stehen in Klammern. Die Funktion verarbeitet diese Argumente. Im Fall der Funktion Left, wird der linke Teil des ersten Argumentes ermittelt und zwar so viele Zeichen wie im zweiten Argument angegeben wurden.

•	Rückgabewert
Die Funktion liefert das Ergebnis ihrer Arbeit zurück. Im Beispiel verarbeitet die Funktion Left(„Computerprogramm",7) die 7 ersten Zeichen des Textes Computerprogramm. Das Ergebnis bzw. der Rückgabewert ist dann der Text Computer. Wenn Sie Left(„Computerprogramm",7) als Ausdruck in Ihren Report aufnehmen, wird der Reportgenerator also Computer ausdrucken.

Operatoren

Mit Hilfe von Operatoren kann man Berechnungen durchführen, Vergleiche anstellen oder Zuweisungen erstellen. Der ´+´-Operator dient z.B. dazu zwei numerische Werte zu addieren (100+50); er kann aber auch benutzt werden, um zwei Variablen vom Typ Character miteinander zu verbinden. "Computer" + „programm" ergibt so „Computerprogramm"Der     := Operator wird benutzt um Zuweisungen durchzuführen.Name:= „Ilona"


Oeffnen und Speichern

Der Öffnen-Dialog begegnet Ihnen bereits sehr früh als Untermenü der Option Datei im Umgebungsfenster. Aber auch an anderer Stelle, z.B. wenn Sie ein Bild in Ihren Report einfügen möchten, werden Sie diesem Dialog begegnen.

Suchen in

Im oberen Teil des Dialogs befindet sich eine Listbox „Suchen in", die benötigt wirdum das Verzeichnis anzugeben in der sich die zu öffnende Datei befindet. Klicken Sie auf diese Listbox und wählen Sie den Ordner aus, in dem sich Ihre Datei befindet.

Neben der Listbox „Suchen in" befindet sich weitere Schaltflächen, die für das Öffnen von Dateien nützlich sind:

   Durch Klick auf dieses Zeichen gelangen Sie in der Ordnerhierarchie eine Stufe höher.

   Benutzen Sie dieses Symbol, wenn Sie einen neuen Ordner erstellen möchten. Diese Schaltfläche hat während des Öffnen-Dialoges normalerweise keine Bedeutung. Sie werden aber sehen, daß der gleiche Dialog auch für das Speichern von Dateien benutzt wird. Dann ist diese Schaltfläche eine wertvolle Hilfe, wenn Sie Ihre Datei in einem neuen Ordner speichern wollen.

  Ist diese Schaltfläche gedrückt, erhalten Sie eine „Kurzansicht" aller Dateien, die sich im ausgewählten Ordner befinden. Kurzansicht bedeutet in diesem Zusammenhang, daß nur der Dateiname gezeigt wird.

  Ist diese Schaltfläche gedrückt, sehen Sie die ausführliche Ansicht aller Dateien, die sich im ausgewählten Ordner befinden. Ausführliche Ansicht bedeutet in diesem Zusammenhang, daß auch die Größe der Datei, ihr Erstellungsdatum etc. Gezeigt werden.

Im Eingabefeld Dateiname können Sie per Tastatur den Namen der zu öffnenden Datei eingeben. Es ist aber auch möglich, die Datei einfach anzuklicken. Der Dateiname wird dann in diesem Eingabefeld erscheinen

Dateityp

Die Listbox Dateityp entscheidet darüber, welche Dateien gezeigt werden. Steht der Dateityp beispielsweise auf Report, werden nur solche Dateien gezeigt, deren Endung .rpt heißt. Wenn Sie alle Dateien sehen wollen, wählen Sie den Eintrag Alle Dateien aus dieser Listbox aus

Öffnen

Mit dieser Schaltfläche wird die ausgewählte Datei geöffnet.

Die Schaltflächen Abbrechen bzw. Hilfe sind selbsterklärend.


Datenbanktreiber

Diesem Dialog begegnen Sie immer dann, wenn Sie eine neue Tabelle in Ihren Report bzw. in einen Abschnitt aufnehmen wollen. Selbstverständlich meldet sich dieser Dialog auch, wenn Sie einen neuen Report erstellen möchten.

Treiber wählen

Die in Klammern stehenden Angaben beziehen sich auf den Typ des Indexfiles, den die gelisteten Datenbanktreiber verwenden. Wählen Sie den richtigen Datenbanktreiber per Doppelklick oder Linksklick und anschließend Klick auf OK aus.

Wenn Sie CDX, NTX oder MDX als Treiber wählen, schließt sich der Treiber-Dialog und Sie erhalten den bereits beschriebenen Öffnen-Dialog, mit dem Sie zur Auswahl einer Tabelle für den Report aufgefordert werden.

SQL-Data-Source

 Wenn Sie den Eintrag SQL Data Source wählen, erhalten Sie weitere Dialoge:

Die Übersetzung des englischen Textes in diesem Dialog bedeutet sinngemäß:

•	„Eine Maschinen-Datenquelle gilt nur für den aktuellen Computer und kann nicht geteilt werden". „Benutzer"-Datenquellen beziehen sich auf Benutzer des aktuellen Computers- „System"-Datenquellen können von allen Benutzern des aktuellen Computers benutzt werden oder durch einen systemweiten Service.

ODBC-Quellen

Welche ODBC-Quellen gezeigt werden, hängt davon ab, welche ODBC-Treiber auf Ihrem System installiert wurden. Nachdem Sie einen der aufgelisteten Treiber ausgewählt haben, erscheint in manchen Fällen sofort der Öffnen-Dialog, der Ihnen ermöglicht eine zum ausgewählten ODBC-Treiber gehörende Datei zu öffnen. In den meisten Fällen werden Sie aber vom Treiber aufgefordert eine LOGIN-ID und ein Paßwort einzugeben:

Datenauswahl

Wenn die Verbindung zur Datenquelle gelingt, erhalten Sie eine Liste von Dateien, die zur Auswahl bzw. zur Verarbeitung innerhalb Ihres Reports bereit steht:

Fehlermeldung

Wenn die Verbindung zur ODBC-Datenquelle nicht hergestellt werden kann, wird in einer Fehlermeldung versucht, die Ursache des Scheiterns zu klären.

•	Achten Sie bei der Verwendung von ODBC-Quellen darauf, daß der ODBC-Treiber korrekt installiert ist !

Nach der Auswahl der ODBC-Quelle kehrt der Reportgenerator wieder in den Arbeitsmodus zurück.


Drucker

Zum Drucken-Dialog gelangen Sie durch Klick auf die Menü-Option Datei-Drucken,oder durch Klick auf das entsprechende Icon in der Werkzeugleiste.

Es meldet sich der Drucken-Dialog, der Ihnen ermöglicht, vor dem Ausdruck noch wichtige Einstellungen durchzuführen:

Name

In der Listbox Name sind alle Drucker aufgelistet, die Sie in Ihrem System installiert haben.

Eigenschaften

Die Schaltfläche Eigenschaften steht nur dann zur Verfügung, wenn der aktuell eingestellte Drucker zusätzliche Eigenschaften unterstützt. Wenn Sie auf diese Schaltfläche klicken, öffnet sich ein weiterer Dialog:

Als zusätzlich einstellbare Optionen findet man oft Optionen zur Einstellung von Papier, Grafikmodus, Druckerschriftarten und Geräteoptionen.

Druck in Datei

Wenn Sie diese Option wählen, wird die Druckausgabe nicht an einen Drucker gelenkt sondern vor dem Druck der Speichern-Dialog geöffnet, der Ihnen ermöglicht einen Namen für Ihre Druckdatei einzugeben

Druckbereich

Mit Hilfe der Gruppe Druckbereich können Sie entscheiden, ob der gesamte Report gedruckt werden soll (Alle Seiten) oder nur ein Teil des Reports. In diesem Fall aktivieren Sie die Option Seiten und geben außerdem in den Eingabefeldern Von, Bis die Nummern der Seiten an, die gedruckt werden sollen.

Kopien

Durch mehrmaliges Klicken auf die Pfeiltasten neben dem Zählfeld „Exemplare" können Sie die Anzahl der Kopien festlegen, die von jeder Seite gedruckt werden soll.Durch aktivieren der Checkbox „Sortieren" können Sie veranlassen, daß die Reportseiten sortiert ausgedruckt werden. Wenn Ihr Drucker diese Eigenschaft nicht unterstützt, kann der Reportgenerator das Sortieren durch Druck mehrerer Kopien des Reports simulieren.

Druckfortschritt

Wenn Sie alle Druckoptionen eingestellt haben, können Sie den Druck durch Klick auf die Schaltfläche OK ausführen. Während des Ausdrucks wird eine Druckfortschrittsanzeige eingeblendet, die Ihnen Aufschluß darüber gibt, welche Seite Ihres Reports gerade gedruckt wird. Der Druckfortschrittsdialog besitzt außerdem eine Schaltfläche Abbruch, mit der Sie den Ausdruck abbrechen können.


Funktionen

Abs()

Zweck

Abs() ermittelt den Absolutwert einer Zahl

Syntax

Abs( <nNummer> )

Argument

<nNummer> ist die Zahl, von der der Absolutwert ermittelt werden soll

Rückgabewert

Abs() gibt den Absolutwert von <nNummer>. zurück

Beispiel

Der Rückgabewert von Abs(-3) ist 3

Adressblk()

Zweck

Adressblk() formatiert eine Adresse für den Ausdruck

Syntax

AddressBlk( <cName>, <cAddress1>, <cAddress2>, <cStadt>, <cState>, <cPlz>)

Argumente

<cName>	Empfängername

<cAddress1>	1. Adreßzeile

<cAddress2>	2. Adreßzeile

<cStadt>	Name der Stadt

<cState>	Name des Landes

<cPlz>	Postleitzahl

Rückgabewert

AddressBlk() erstellt ein Adreßfeld auf der Grundlage der Eingabewerte. Argumente

ohne Inhalt werden ignoriert

Alltrim()

Zweck

Alltrim() entfernt führende und nachfolgende Leerzeichen des Parameters

Syntax

Alltrim( <cString> )

Argument

<cString> ist der Text-Ausdruck von dem die Leerzeichen entfernt werden sollen

Rückgabewert

Der Rückgabewert von Alltrim(cString) ist cString ohne führende und

nachfolgende Leerzeichen

Beispiel

Alltrim("   Test  ") ergibt "Test"

Asc()

Zweck

Asc() ermittelt den ASCII-Wert eines Zeichens

Syntax

Asc( <cCharacter> )

Argument

<cCharacter> ist das Zeichen von dem der ASCII-Wert ermittelt werden soll

Rückgabewert

Asc() gibt den ASCII-Wert von  <cCharacter>. zurück

Beispiel

ASCII("A") ergibt 65

At()

Zweck

At() ermittelt die Position eines Suchtextes innerhalb eines Textes.

Syntax

At( <cSuchenNach>, <cSuchenIn>  )

Argument

<cSuchenNach> ist der Suchtext

<cSuchenIn> ist der Text in dem gesucht wird

Returns

At() gibt einen numerischen Wert zurück, der die Position angibt, an der

<cSuchenNach> erstmals in <cSuchenIn> gefunden wurde. Wenn <cSuchenNach>

nicht gefunden wird, ist der Rückgabewert 0

Beispiel

At("ort","ReportPro") ergibt 4

AtLineNum()

Zweck

AtLineNum() ermittelt die Zeilennummer eines Textes in einem Text mit

mehreren Zeilen (Memofeld)

Syntax

AtLineNum(<cSuchenNach>, <cSuchenIn>  )

Argument

<cSuchenNach> ist der Suchtext

<cSuchenIn> ist der Text in dem <cSuchenNach> gesucht wird

Rückgabewert

AtLineNum() ergibt eine Zahl, die der Zeilennummer entspricht, in der

<cSuchenNach> in <cSuchenIn> gefunden wurde. Wenn <cSuchenNach> nicht

gefunden wurde, ergibt AtLineNum()  den Wert 0.

 AtLineNoCase()

Zweck

AtLineNoCase() ermittelt die Zeilennummer eines Suchtextes in einem mehrzeiligen Text.

Groß-Klein-Schreibung wird dabei nicht berücksichtigt.

Syntax

AtLineNoCase(<cSuchenNach>, <cSuchenIn>  )

Argument

<cSuchenNach> ist der Suchtext

<cSuchenIn> ist der mehrzeilige Text, in dem gesucht wird

Rückgabewert

AtLineNoCase() ergibt die Zeilennummer in der  <cSuchenNach> in <cSuchenIn>

gefunden wurde. Wenn <cSuchenNach> nicht gefunden wurde, ist der

Rückgabewert 0

AtNoCase()

Zweck

AtNoCase() ermittelt die Position eines Suchtextes in einem Text zu . Groß-Klein-Schreibung wird

nicht berücksichtigt.

Syntax

AtNoCase( <cSuchenNach>, <cSuchenIn>  )

Argument

<cSuchenNach> ist der Suchtext

<cSuchenIn> ist der Text in dem gesucht wird

Rückgabewert

AtNoCase() ergibt eine Zahl die der Fundposition von <cSuchenNach> innerhalb

<cSuchenIn > 	entspricht . Wenn <cSuchenNach > nicht gefunden wird, ist der

Rückgabewert von  AtNoCase() gleich 0.

 CDOW()

Zweck

CDOW() ermittelt aus einem Datum den zugehörigen Wochentag

Syntax

CDOW( <dDatum> )

Argument

<dDatum> ist der Datumswert von dem der Wochentag ermittelt werden soll

Rückgabewert

CDOW() ergibt den Wochentag von <dDatum> als Text

Beispiel

CDOW(24.12.96) ergibt Dienstag

Ceiling()

Zweck

Ceiling() ermittelt den ganzzahligen Teil einer Zahl

Syntax

Ceiling( <nNummer> )

Argument

<nNummer> ist der Wert, von dem der ganzzahlige Anteil ermittelt werden soll

Returns

Ceiling() ergibt den ganzzahligen Teil von <nNummer>

Beispiel

Ceiling(23,7) ergibt 23

 Chr()

Zweck

Chr() wandelt einen ASCII-Wert in das zugehörige Zeichen um

Syntax

Chr( <nNummer> )

Argument

<nNummer> ist der ASCII-Wert, dessen Zeichen ermittelt werden soll

Rückgabewert

Chr() ergibt das zu <nNummer>. gehörende ASCII-Zeichen

Beispiel

Chr(65) ergibt "A"

CMonth()

Zweck

CMonth() ermittelt den Monatsnamen aus einem Datumswert

Syntax

CMonat( <dDatum> )

Argument

<dDatum> ist der Datumswert, aus dem der Monat ermittelt werden soll

Rückgabewert

CMonat() ergibt den Monatsnamen von <dDatum> als Text

Beispiel

CMonat(24.12.96) ergibt Dezember

 Cosine()

Zweck

Cosine() berechnet den Cosinus eines Winkels

Syntax

Cosine( <nWinkel> )

Argument

<nWinkel> ist ein Winkel im Bogenmaß

Rückgabewert

Cosine() ergibt den Cosinus von <nWinkel>.

Beispiel

Cosine(Pi) = -1

Cotangent()

Zweck

Ermittelt den Cotangens einer Zahl

Syntax

Cotangent(<nWinkel> )

Argument

<nWinkel> ist der Winkel im Bogenmaß

Rückgabewert

Cotangent() ergibt den CoTangens von <nWinkel>.

 CTOD()

Zweck

Wandelt einen Textwert in einen Datumswert um

Syntax

CTOD( <cDatum> )

Argument

<cDatum> ist ein Textformat, der Tag.Monat.Jahr enthält. Er muß in der Form

"tt.mm.jj" oder "tt.mm.jjjj" vorliegen

Rückgabewert

CTOD() wandelt <cDatum>.in das Datumsformat um

Beispiel

CTOD("20.02.96") ergibt 20.02.1996 als Datumsformat

Day()

Zweck

Day() ermittelt den Tag aus einem Datum als numerischen Wert

Syntax

Day( <dDatum> )

Argument

<dDatum> ist das Datum, aus dem der Tag ermittelt werden soll

Rückgabewert

Day() ergibt eine Zahl zwischen 1 und 31

Beispiel

Day(ctod("20.02.96")) ergibt 20

 Descend()

Zweck

Descend() erstellt einen absteigenden Schlüsselausdruck

Syntax

Descend( <cString> )

Argument

<cString> ist der Text für den der absteigende Wert ermittelt werden soll

Rückgabewert

Descend() gibt das Argument <cString> invertiert zurück

DOW()

Zweck

DOW() ermittelt aus einem Datumsformat den Wochentag als Zahl

Syntax

 	DOW( <dDatum> )

Argument

 	<dDatum> ist das Eingabedatum

Rückgabewert

 	DOW() ergibt den Wochentag als Zahl zwischen 1 und 7

(Sonntag hat den Wert 1)

Beispiel

Tag(ctod("24.12.96")) ergibt    3 (Dienstag)

 DTOC()

Zweck

DTOC() wandelt einen Datumswert in einen Text um

Syntax

DTOC( <dDatum> )

Argument

 	<dDatum> ist das umzuwandelnde Datum

Rückgabewert

DTOC ergibt einen Text der Form "24.12.96", der das Datum <dDatum>

repräsentiert

DTOS()

Zweck

DTOS() wandelt einen Datumswert in ein Textformat

Syntax

DTOS( <dDatum> )

Argument

<dDatum> ist der umzuwandelnde Datumswert

Rückgabewert

DTOS ergibt einen Text im Format  "yyyymmdd" der <dDatum> repräsentiert

 ElapsedTime()

Zweck

ElapsedTime() bestimmt die Differenz von zwei Zeitwerten

Syntax

 	ElapsedTime( <cTime1>, <cTime2>  )

Argument

 	<cTime1> ist die Anfangszeit

<cTime2> ist die Endzeit

Rückgabewert

ElapsedTime() ergibt einen Text im Format  hh:mm:ss der die zeitliche Differenz

zwischen <cZeit1> und <cZeit2> repräsentiert

Empty()

Zweck

 	Stellt fest, ob eine Variable oder ein Datenbankfeld Leer ist.

Syntax

Empty( <xWert> )

Argument

<xWert> ist der zu überprüfende Wert. Er kann von einem beliebigen Datentyp

sein

Rückgabewert

Empty() ergibt TRUE, wenn <xWert> leer ist, sonst FALSE

Datentyp	Leerwert

Character	Leerzeichen,Tabulatoren oder ""

Numeric	0

Datum	NULL

Logisch	.f.

 GroupMembers()

Zweck

GroupMembers ermittelt die Anzahl der Mitglieder einer Gruppe.

Syntax

GroupMembers( <nGruppe> )

Argument

<nGruppe> ist die zu überprüfende Gruppe

Rückgabewerte

GroupMembers() ergibt die Anzahl der Gruppenmitglieder in der Gruppe

<nGruppe> als 	numerischen Wert

HardCR()

Zweck

HardCR() ersetzt alle "weichen" Zeilenschaltungen (chr(141)) durch "harte"

Zeilenschaltungen (chr(13))

Syntax

HardCR( <cString> )

Argument

<cString> ist der Text, der "weiche" Zeilenschaltungen enthält

Rückgabewert

HardCR() ergibt <cString> wobei nun alle "weichen" Zeilenschaltungen durch

"harte" ersetzt wurden

 HoursBetween()

Zweck

HoursBetween berechnet die Stunden zwischen 2 Datums/Zeitwerten

Syntax

StundenBetween( <dDatum1>, <cZeit1>, <dDatum2>, <cZeit2>, <lWochenenden> )

Argument

<dDatum1> Startdatum

<cZeit1> Startzeit als Text im Format hh:mm:ss (24 hour format)

<dDatum2> Enddatum

<cZeit2> Endzeit als Text im Format hh:mm:ss (24 hour format)

<lWochenenden>  Ein logischer Wert, der darüber entscheidet, ob Wochenenden

mitgerechnetwerden sollen oder nicht

Rückgabewert

HoursBetween() ergibt die Anzahl der Stunden zwischen <cZeit1> von

<dDatum1> und <cZeit2> von <dDatum2>.  die erste Eingabe von Datum/Zeit muß

kleiner sein als die zweite

 iif()

Zweck

iif() gibt  einen logischen Ausdruck in Abhängigkeit einer Bedingung zurück.

Syntax

iif( <lCondition> , <expWahr> , <expFalsch> )

Argumente

<lCondition>	ist der logische Ausdruck, der geprüft wird

<expWahr>	ist der Ergebisausdruck falls <lCondition> wahr ist

<expFalsch>	ist der Ergebnisausdruck falls <lCondition> falsch ist

Rückgabewert

iif() ergibt <expWahr> wenn <lCondition> wahr ist, und <expFalsch> wenn

<lCondition> falsch ist

Beispiel

iif(Adress.Sex="W","Sehr geehrte Frau","Sehr geehrter Herr")

Hier wird zuerst das Datenbankfeld Adress.Sex geprüft. Wenn dort ein "W"

steht, ist der Ergebnisausdruck "Sehr geehrte Frau", wenn dort kein "W" steht, ist

der Ergebnisausdruck "Sehr geehrter Herr"

Integer()

Zweck

Integer() schneidet Nachkommastellen einer Zahl ab

Syntax

Integer( <nNummer> )

Arguments

<nNummer> ist die Dezimalzahl, die in eine ganze Zahl umgewandelt wird

Returns

Integer() ergibt den ganzzahligen Teil von <nNummer>  als Integer-Wert

Beispiel

Integer(3,7) ergibt 3

 IsAlpha()

Zweck

IsAlpha() prüft ob das erste Zeichen des Parametr-Strings <cString> alphabetisch ist.

Syntax

IsAlpha(<cString>)

Argumente

<cString> ist der zu prüfende String

Rückgabewert

IsAlpha() gibt TRUE zurück wenn das erste Zeichen von cString zwischen A-Z oder

zwischen a-z liegt. Sonst gibt IsAlpha False zurück.

 IsBetween()

Zweck

IsBetween() prüft, ob eine Zahl zwischen zwei anderen liegt

Syntax

IsBetween( <nTestNummer>, <nLowerLimit>, <nUpperLimit> )

Arguments

<nTestNummer> ist die Zahl, die geprüft werden soll

<nLowerLimit> ist die kleinere Zahl

<nUpperLimit> ist die größere Zahl

Rückgabewert

IsBetween() ergibt TRUE wenn <nTestNummer> zwischen <nLowerLimit> und

<nUpperLimit>.liegt

IsDigit()

Zweck

IsDigit() stellt fest, ob das erste Zeichen eines Strings eine Ziffer ist

Syntax

IsDigit( <cString> )

Argument

<cString> ist der zu prüfende String

Rückgabewert

IsDigit() ergibt TRUE wenn das erste Zeichen von  <cString> eine Ziffer ist

(0-9); sonst FALSE

 IsLower()

Zweck

Überprüft, ob das erste Zeichen in einem String ein Kleinbuchstabe ist

Syntax

IsLower( <cString> )

Argument

<cString> ist der zu prüfende String

Rückgabewert

IsLower() ergibt TRUE wenn das erste Zeichen in  <cString> ein Kleinbuchstabe

ist (a-z).

IsUpper()

Zweck

IsUpper() überprüft, ob das erste Zeichen in einem String ein Großbuchstabe ist

Syntax

IsUpper( <cString> )

Argument

<cString> ist der zu prüfende String

Rückgabewert

IsUpper() ergibt TRUE wenn das erste Zeichen in  <cString> ein Großbuchstabe

ist (A-Z).

 Left()

Zweck

Left() ermittelt von links beginnend einen <nCharacters>langen Teilstring

Syntax

Left( <cString> , <nCharacters> )

Argumente

<cString> ist der String, von dem der Teilstring ermittelt werden soll

<nCharacters> ist die Anzahl der Zeichen die ermittelt werden sollen

Rückgabewert

Left() ergibt einen Teilstring von <nCharacters>

Beispiel

Left("Computerprogramm",8) ergibt "Computer"

Len()

Zweck

Len() Berechnet die Länge eines Strings

Syntax

Len( <cString> )

Argument

<cString> ist der String, dessen Länge ermittelt werden soll

Rückgabewert

Len() ergibt die Länge von <cString>.als Integerwert

Beispiel

Len("Computer") ergibt 8

 Log()

Zweck

Log() berechnet den natürlichen Logarithmus einer Zahl

Syntax

Log( <nNummer> )

Argument

<nNummer> ist eine Zahl größer 0

Rückgabewert

Log() ergibt den natürlichen Logarithmus von  <nNummer>.

Lower()

Zweck

Lower() wandelt Großbuchstaben in Kleinbuchstaben um

Syntax

Lower( <cString> )

Argument

<cString> ist der String der umgewandelt werden soll

Rückgabewert

Lower() ergibt <cString>. in Kleinbuchstaben

 Ltrim()

Zweck

Ltrim() entfernt führende Leerzeichen in einem String

Syntax

LTrim( <cString> )

Argument

<cString> ist der String, von dem führende Leerzeichen entfernt werden sollen

Rückgabewert

LTrim() ergibt <cString> ohne führende Leerzeichen

Beispiel

 	Ltrim("   Hallo") ergibt "Hallo"

Max()

Zweck

Max() ermittelt den größeren von 2 Werten (Datum oder numerisch)

Syntax

Max( <dnWert1> , <dnWert2> )

Argumente

<dnWert1> and <dnWert2> sind die zu vergleichenden Datums oder

Zahlenwerte.  Beide 	müssen vom gleichen Datentyp sein

Rückgabewert

Max() ergibt den größeren der beiden Werte <dnWert1> und<dnWert2>.

 MakeDate()

Zweck

MakeDate() ermittelt aus drei Zahlenwerten einen Datumswert

Syntax

MakeDate( <nJahr> , <nMonat>, <nTag> )

Argumente

<nJahr> ist das Jahr des Datums

<nMonat> ist der Monat des Datums

<nTag> ist der Tag des Datums

Rückgabewert

MakeDate() ergibt ein Datum, das aus <nJahr>, <nMonat> and

<nTag>.ermittelt wird

MakeTime()

Zweck

MakeTime() erstellt einen Zeitausdruck aus drei Zahlenwerten, die Stunde, Minute und

Sekunde repräsentieren

Syntax

MakeTime( <nStunden> , <nMinuten>, <nSekunden> )

Argumente

<nStunden> ist die Stunde

<nMinuten> ist die Minute

<nSekunden> sind die Sekunden

Rückgabewert

MakeTime() ergibt einen String im Format  hh:mm:ss.

 MemoLine()

Zweck

ermittelt eine Zeile aus einem Memofeld

Syntax

MemoLine( <cString> , <nZeilenLänge>, <nLineNummer>, <nTabulatorgröße>, <lWrap> )

Argumente

<cString> ist der String des Memofeldes der ermittelt werden soll

<nZeilenLänge> ist die voreingestellte Zeilenlänge

<nLineNummer> ist die Zeilennummer der Zeile die ermittelt werden soll

<nTabulatorgröße> ist die Tabulatorgröße in Zeichen

<lWrap> ist  TRUE wenn Zeilenumbruch beachtet werden soll, sonst FALSE

Rückgabewert

MemoLine() übergibt die <nLineNummer> Zeile des Textes an <cString>,wenn

sie existiert

MemoTran()

Zweck

MemoTran ersetzt CR und LF-Zeichen durch ein Zeichen, das angezeigt werden kann

Syntax

MemoTran( <cString> , <cHardCR>, <cSoftCR> )

Argumente

<cString> ist der String, der die CR und LF-Zeichen enthält

<cHardCR> ist der Buchstabe mit dem die "harte" Zeilenschaltung ersetzt wird

<cSoftCR> ist das Zeichen, mit dem "weiche" Zeilenschaltungen ersetzt werden

Rückgabewert

MemoTran() ergibt einen String, bei dem CR und LF-Zeichen ersetzt wurden

Min()

Zweck

ermittelt den kleineren von 2 Werten (Datum oder numerisch)

Syntax

Min( <dnWert1> , <dnWert2> )

Argumente

<dnWert1> and <dnWert2> sind die zu vergleichenden Datums oder

Zahlenwerte.  Beide müssen vom gleichen Datentyp sein

Rückgabewert

Min() ergibt den kleineren der beiden Werte <dnWert1> und<dnWert2>.

MLCount()

Zweck

MLCount() ergibt die Anzahl der Zeilen in einem String

Syntax

MLCount( <cString> , <nZeilenLänge>,  <nTabulatorgröße>, <lWrap> )

Argumente

<cString> ist der String, dessen Zeilen gezählt werden sollen

<nZeilenLänge> ist die voreingestellte Zeilenlänge

<nTabulatorgröße> ist die Tabulatorgröße in Zeichen

<lWrap> Wenn lWrap WAHR ist, wird Wortumbruck eingeschaltet. Ist lWrap FALSE

wird kein automatischer Wortumbruch vorgenommen

Rückgabewert

MLCount() ergibt die Anzahl der Zeilen in <cString>.

 Modulus()

Zweck

ermittelt den Rest einer Division

Syntax

Modulus( <nDividend> , <nDivisor> )

Argument

<nDividend> Ist der Dividend der Division

<nDivisor> Ist der Divisor der Division

Rückgabewert

Modulus() ergibt den Rest von  <nDividend> geteilt durch <nDivisor>.

MinutesBetween()

Zweck

MinutesBetween() berechnet die Minuten zwischen 2 Datums/Zeitwerten

Syntax

MinutesBetween( <dDatum1>, <cZeit1>, <dDatum2>, <cZeit2>, <lWochenenden> )

Argument

<dDatum1> Startdatum

<cZeit1> Startzeit als Text im Format hh:mm:ss (24 hour format)

<dDatum2> Enddatum

<cZeit2> Endzeit als Text im Format hh:mm:ss (24 hour format)

<lWochenenden>  Ein logischer Wert, der darüber entscheidet, ob Wochenenden

mitgerechnet werden sollen oder nicht

Rückgabewert

MinutesBetween() ergibt die Anzahl der Minuten zwischen <cZeit1> von

<dDatum1> und <cZeit2> von <dDatum2>.  die erste Eingabe von Datum/Zeit muß

kleiner sein als die zweite

 Month()

Zweck

Month() ermittelt den Monat aus einem Datum als numerischen Wert

Syntax

Monat( <dDatum> )

Argument

<dDatum> ist das Datum, aus dem der Monat ermittelt werden soll

Rückgabewert

 	Month() ergibt eine Zahl zwischen 1 und 12

Beispiel

Month(ctod("20.02.96")) ergibt 2

Num2CDOW()

Zweck

Num2CDOW() ermittelt aus einer Tag-Nummer den zugehörigen Wochentag als String

Syntax

Num2CDOW( <nTag> )

Argument

<nTag>ist eine Zahl (1-7) zu der der Name des Wochentages ermittelt werden

soll

Rückgabewert

Num2CDOW() ergibt den Namen des Tages von <nTag>

Beispiel

Num2CDOW(1) ergibt Sonntag

 Num2CMonth()

Zweck

Num2CMonth() ermittelt aus einer Monats-Nummer den zugehörigen Monat als String

Syntax

Num2CMonth( <nMonat> )

Argument

<nMonat>ist eine Zahl (1-12) zu der der Name des Monats ermittelt werden soll

Rückgabewert

Num2CMonth() ergibt den Namen des Monats von <nMonat>

Beispiel

Num2CMonat(1) ergibt Januar

NumTrim()

Zweck

NumTrim() wandelt den Übergabe-Parameter <nNummer> in einen String ohne

führende Leerzeichen um.

Syntax

NumTrim(<nNummer>)

Argumente

<nNummer> ist die Zahl, die in einen String umgewandelt werden soll.

Rückgabewert

NumTrim() gibt <nNummer> als String ohne führende Leerzeichen zurück

Beispiel

NumTrim(  102) ist "102"

OccursIn()

Zweck

OccursIn() ermittelt, wie oft ein Suchstring in einem String vorkommt

Syntax

OccursIn( <cSuchenNach>, <cSuchenIn> )

Argumente

<cSuchenNach> ist der Suchstring

<cSuchenIn> ist der String in dem gesucht wird

Rückgabewert

OccursIn() ergibt eine Zahl die angibt, wie oft <cSuchenNach> in  <cSuchenIn>

vorkommt

 Pad()

Zweck

Pad() füllt String, Datums- und numerische Variablen mit einem Füllzeichen

Syntax

PadC( <xWert> , <nLänge>, <cPadChar> )

PadL( <xWert> , <nLänge>, <cPadChar> )

PadR( <xWert> , <nLänge>, <cPadChar> )

Argumente

<xWert> ist die zu füllende Variable

<nLänge> ist die Länge des Rückgabewertes

<cPadChar> ist das Zeichen mit dem gefüllt werden soll

Rückgabewert

PadC() ergibt <xWert> als String mit der Länge <nLänge> zentriert zwischen

dem Füllzeichen <cPadChar>.

PadL() ergibt <xWert> als String mit der Länge <nLänge>gefüllt mit

<cPadChar> auf der linken Seite

PadR() ergibt <xWert> als String mit der Länge <nLänge> gefüllt mit

<cPadChar> auf der rechten Seite

Beispiel

Padl("123",5,"0") ergibt "00123"

 Power()

Zweck

Power() potenziert eine Zahl

Syntax

Power( <nNummer>, <nExponent> )

Argumente

<nNummer> ist die Basis

<nExponent> ist der Exponent

Rückgabewert

Power() ergibt die Potenz von <Numer> hoch <nExponent>

Beispiel

Power(2,3) ergibt 8

PgCount()

Zweck

PgCount() ermittelt die Anzahl der Seiten des Reports

Syntax

PgCount()

Argumente

keine

Rückgabewert

PgCount() gibt die von ReportPro ermittelte Seitenzahl des Reports

zurück. Der Einsatz dieser Funktion ist nur sinnvoll, wenn im Dialog

Datei|Einrichten|Report die Checkbox "Unterstütze Seitenzähler" oberhalb

des Eingabefeldes "Paßwort" aktiviert wurde.

PgNo()

Zweck

PgNo() ermittelt die Seitennummer eines Reports

Syntax

PgNo()

Rückgabewert

PgNo()ergibt die interne Report-Seitennummer als String

 Properize()

Zweck

Properize() wandelt das erste Zeichen jedes Wortes in einem String in Großbuchstaben um

Syntax

Properize( <cString> )

Argument

<cString> ist der zu bearbeitende String

Rückgabewert

Properize() ergibt <cString> In <cString> ist jeder erste Buchstabe eines Wortes

ein Großbuchstabe

Rand()

Zweck

Rand() ergibt eine Zufallszahl zwischen 0 und 1

Syntax

Rand( <nSeedNummer> )

Argument

<nSeedNummer> ist eine Zahl, die den Zufallsgenerator initialisiert

Rückgabewert

Rand() ergibt eine Zufallszahl zwischen 0 und 1

 RAt()

Zweck

Rat() ermittelt die letzte Position eines Suchstrings in einem String

Syntax

RAt( <cSuchenNach>, <cSuchenIn> )

Argumente

<cSuchenNach> ist der Suchstring

<cSuchenIn> ist der String in dem gesucht wird

Rückgabewert

RAt() ergibt die letzte Position von  <cSuchenNach> in <cSuchenIn>.

Replicate()

Zweck

Replicate() erstellt einen String durch mehrmaliges Aufschreiben eines Vorgabestrings

Syntax

Replicate( <cString>, <nTimes> )

Argumente

<cString> ist der zu wiederholende String

<nTimes> ist die Anzahl der Wiederholungen für <cString>

Rückgabewert

Replicate() ergibt <cString> <nTimes> wiederholt

Beispiel

Replicate("_",20) ergibt ____________________

 Right()

Zweck

Right() ermittelt von rechts beginnend einen Teilstring

Syntax

Right( <cString> , <nCharacters> )

Arguments

<cString> ist der String, von dem der Teilstring ermittelt werden soll

<nCharacters> ist die Anzahl der Zeichen die ermittelt werden sollen

Rückgabe

Right() ergibt einen Teilstring von <nCharacters>

Beispiel

Right("Computerprogramm",8) ergibt "programm"

Round()

Zweck

Round() ermittelt einen Zahlenwert, der auf <nDecimals> Nachkommastellen gerundet ist

Syntax

Round( <nNummer> , <nDecimals> )

Argumente

<nNummer> ist der zu rundende Zahlenwert

<nDecimals> ist die Anzahl der Dezimalstellen, auf die gerundet werden soll.

Rückgabewert

Round() ergibt eine auf <nDecimals> Dezimalstellen gerundete Dezimalzahl

 RpEOF()

Zweck

Gibt ein Signal, wenn ReportPro am Ende des Reports angelangt ist

Syntax

RpEOF()

Rückgabewert

RpEOF() ergibt TRUE wenn der Report erstellt ist, sonst FALSE

RpSQLCol()

Zweck

RpSQLCol() ermittelt einen SQL-Spaltenwert nach Angabe einer Spaltenposition

Syntax

RpSQLCol( <nColumn> )  xColumnWert

Argumente

<nColumn> ist die Nummer der Spalte die ermittelt werden soll

Rückgabe

RpSQLCol() gibt den Wert der Spalte zurück, die an der Stelle <nColumn>

des SQL select statements steht.

 Sec2Days()

Zweck

Sec2Days() rechnet Sekunden in Tage um

Syntax

Sec2Days( <nSekunden> )

Argument

<nSekunden>ist die Anzahl der Sekunden

Rückgabewert

Sec2Days() ergibt <nSekunden> die in Tage umgewandelt wurden

Beispiel

Sec2Days(48*60*60) ergibt 2

Sine()

Zweck

Sine() berechnet den Sinus einer Zahl

Syntax

Sine( <nWinkel> )

Argumente

<nWinkel> ist der Winkel als Bogenmaß

Rückgabewert

Sine() ergibt den Sinus von <nWinkel>

 Space()

Zweck

Space() ergibt einen String der nur Leerzeichen enthält

Syntax

Space( <nCount>)

Argumente

<nCount> ist die Anzahl der Leerzeichen

Rückgabewert

Space() gibt einen String mit <nCount> Leerzeichen zurück

Sqrt()

Zweck

Sqrt() ermittelt die Wurzel aus einer positiven Zahl

Syntax

SqRt( <nNummer> )

Argument

<nNummer> ist die positive Zahl, aus der die Wurzel gezogen werden soll

Rückgabewert

SqRt() ergibt die Wurzel von <nNummer>.

 Str()

Zweck

Str() wandelt einen numerischen Wert in einen String

Syntax

Str( <nNummer> , <nLänge> , <nDecimals> )

Argumente

<nNummer> ist die umzuwandelnde Zahl

<nLänge>  ist die Länge des Ergebnisstring einschließlich Dezimalpunkt und

Nachkommastellen <nDecimals> Anzahl der Nachkommastellen

Rückgabewert

Str() ergibt <nNummer> im String-Format

Beispiel

Str(27.3,4,1) ergibt "27.3"

StrTran()

Zweck

StrTran() sucht und ersetzt Zeichen in einem String

Syntax

StrTran( <cSuchenNach> , <cSuchenIn> , <cReplaceWith>, <nStart>, <nCount> )

Argumente

<cSuchenNach> ist der Suchtext

<cSuchenIn> ist der Text in dem gesucht wird

<cReplaceWith> ist der Text mit dem <cSuchenNach> ersetzt wird

<nStart> ist die erste Stelle in  <cSuchenNach> die ersetzt wird

<nCount> ist die Anzahl der durchzuführenden Ersetzungen

Rückgabewert

StrTran() ergibt <cSuchenIn> wobei <cSuchenNach> ersetzt wurde durch

<cReplaceWith>.

 Stuff()

Zweck

Stuff() löscht bzw. fügt Zeichen in einen String ein

Syntax

Stuff( <cString> , <nStart> , <nDelete>, <cInsert> )

Argumente

<cString> ist der zu bearbeitende String

<nStart> ist die Position ab der einfügen/löschen beginnt

<nDelete> ist die Anzahl der Zeichen die gelöscht werden sollen

<cInsert> ist der String, der ab <nStart> eingefügt wird

Rückgabewert

Stuff () ergibt <cString> in der bearbeiteten Form

SubStr()

Zweck

Substr() ermittelt einen Teilstring aus einem String

Syntax

SubStr( <cString> , <nStart> , <nCount> )

Argumente

<cString> ist der String, von dem ein Teil ermittelt werden soll

<nStart> ist die Anfangsposition innerhalb <cString>

<nCount>ist die Anzahl der Zeichen die ermittelt werden sollen

Rückgabewert

SubStr() ergibt einen Teilstring von<cString>.

 Tangent()

Zweck

Tangent() berechnet den Tangens einer Zahl

Syntax

Tangent( <nWinkel> )

Argument

<nWinkel> ist der Winkel im Bogenmaß

Rückabewert

Tangent() ergibt den Tangens von <nWinkel>.

Time()

Zweck

ermittelt die Systemzeit

Syntax

Time()

Rückgabewert

Time() ergibt die Systemzeit in der Form hh:mm:ss.

 ToDay()

Zweck

ToDay() ermittelt das Systemdatum des PC

Syntax

ToDay()

Rückgabewert

ToDay() ergibt das Systemdatum im Datumsformat

Trim()

Zweck

Trim() entfernt nachfolgende Leerzeichen aus einem String

Syntax

Trim( <cString> )

Argument

<cString> ist der String, von dem die Leerzeichen entfernt werden sollen

Rückgabewert

Trim() ergibt <cString> ohne nachfolgende Leerzeichen

 Upper()

Zweck

Upper() wandelt Kleinbuchstaben in Großbuchstaben um

Syntax

Upper( <cString>)

Argument

<cString> ist der String der umgewandelt wird

Rückgabewert

Upper() ergibt eine Kopie von <cString> bei der alle Kleinbuchstaben in

Großbuchstaben umgewandelt wurden

Val()

Zweck

Val() wandelt einen String in einen numerischen Wert um

Syntax

Val( <cNummer>)

Argument

<cNummer> ist der umzuwandelnde String

Rückgabewert

Val() ergibt <cNummer> umgewandelt in ein Zahlenformat, einschließlich

Dezimalstellen

Year()

Zweck

Year() ermittelt die Jahreszahl aus einem Datumswert

Syntax

Year( <dDatum>)

Argumente

<dDatum> ist das Datum, von dem die Jahreszahl ermittelt werden soll

Rückgabewert

Year() ergibt die Jahreszahl aus <dDatum> im numerischen Format


Copyrights
Deutscher Dokument Service

          Copyright 1997 für Soft-Tec 2000.

Soft-Tec 2000	Tel.: 06462 1219

Schöne Aussicht 14	Fax: 06462 5260

D 35075 Gladenbach	E-Mail : 101727,2514@Compuserve.com

Der hier beschriebene Reportgenerator ReportProTM ist ein eingetragenes Warenzeichen von DataPro, Inc. PO Box 6663, Warner Robins, GA 31095-6663, United States of America.

WindowsTM ist ein eingetragenes Warenzeichen von Microsoft

Alle Rechte, auch die der Übersetzung sind vorbehalten. Es wird keine Gewähr für die Vollständigkeit oder Richtigkeit der hier dargestellten Kapitel übernommen.  Insbesondere wird keine Haftung für eventuelle, aus dem Gebrauch resultierende Schäden übernommen.

Das Kundenhandbuch darf beliebig oft ausschließlich als Papierausdruck an   e i g e n e  Kunden weitergegeben werden.

Der Help-File darf einmal pro Lizenz Ihrer Applikation beim Kunden weitergegeben werden.

 © Soft-Tec 2000