Datenquelle
Zuletzt geändert: 05.06.2023 15:46

Datenquelle #

Technischer Ablauf #

Die Erzeugung eines Berichts, also eines Ausdrucks, lässt sich am einfachsten in einem kleinen Diagramm veranschaulichen.

img

Die Daten der Datenbank werden zunächst im Daten-Konfigurator aufbereitet und als Datenquelle den weiteren Verarbeitungsstufen zur Verfügung gestellt. Über das im Designer erstellte Layout (=Berichtsvorlage) und die Datenquellen wird dann der eigentliche Bericht, also der Ausdruck, erzeugt. Ein Layout enthält Platzhalter für die Datenbankvariablen (=Felder), feste Texte, Bilder, Linien, Grafiken usw. und kann durch Scripts mit verschiedenen WENN/DANN-Bedingungen (=IF/Then-Abfragen), also einer Logik, versehen werden. Die Logik kann den Bericht beeinflussen und in Abhängigkeit von Daten oder aber Dialogen, Elemente, die im Layout platziert wurden, beeinflussen. So lässt sich zum Beispiel über ein Script hinterlegen, ob ein Briefkopf immer oder nur beim Faxen ausgegeben werden soll.

Neben den Datenquellen, die vom Daten-Konfigurator erzeugt werden – diese bezeichnen wir als externe Datenquellen – gibt es auch Datenquellen, die direkt im Layout erstellt und gespeichert werden. Diese Datenquellen bezeichnen wir als eingebettete Datenquellen.

Im Layout werden alle Datenquellen gleichwertig verarbeitet, also die externen und die eingebetteten Datenquellen.

Eigebettete Datenquelle #

Der Vorteil der eingebetteten Datenquellen liegt darin, dass diese für den Anwender einfacher zu erstellen sind. Die Datenquellen können über einen Assistenten im Berichts-Designer erzeugt werden, ohne dass man SQL-Kenntnisse besitzen muss. Eingebettete Datenquellen sind immer unabhängig von den angezeigten Daten der Bildschirmmaske. Man kann also mit eingebetteten Datenquellen keine Rechnungen vom angezeigten Datensatz drucken, sehr wohl aber ein Rechnungsausgangsbuch oder eine Etikettenliste, einen Bestellvorschlag, Statistiken und andere Listen.

In eingebetteten Datenquellen lassen sich Abfragedialoge definieren. So kann man bestimmen, dass man vor einer Liste einen Datumsbereich eingeben möchte, wie dies bei einem Rechnungsausgangsbuch sinnvoll ist. Die Abfragedialoge können beliebig komplex sein und mehrere Abfragen gleichzeitig durchführen.

Anhand der Abfragen werden nur Daten vom SQL-Server abgerufen, die der Abfrage-Bedingung entsprechen.

img

Beispiel einer eingebetteten Datenquelle

Externe Datenquelle #

Die Definition von externen Datenquellen ist den Technikern vorbehalten.

Externe Datenquellen werden im Datenkonfigurator erstellt. Diese haben den Vorteil, dass diese flexibler und durch optimierte Verknüpfungen deutlich schneller sind. Der Nachteil ist, dass die Definition komplizierter und daher nur für technisch versierte Benutzer oder für Benutzer unter Anleitung möglich ist. Externe Datenquellen können sich auf den am Bildschirm angezeigten Datensatz oder eine Selektion (=Treffer) beziehen.

img

Daten-Konfigurator

Alle Rechnungen, Angebote, Auftragsbestätigungen usw. nutzen externe Datenquellen. Damit man bei eigenen Rechnungsformularen mit diesen komplizierten Vorgängen nichts zu tun hat, werden immer alle Datenquellen beim Kopieren einer Berichtsvorlage in die neue Vorlage einkopiert.

Es ist natürlich möglich, externe Datenquellen zu erweitern und somit Dinge auszudrucken, deren Kombination neu ist. So können mit den geeigneten SQL-Befehlen fremde Daten aus anderen Datenbanken oder Systemen, wie Access, Paradox, dBase usw., eingebunden und im Bericht mit ausgedruckt werden.

img

Definition von externen Datenquellen

Datenquelle verbinden #

Gibt es in Berichten mehrere Datenquellen, so besteht die Möglichkeit, diese zu „verlinken“.

Bei nicht eingebetteten Datenquellen geschieht das im Datenkonfigurator bei der jeweiligen Datenquelle unter dem Punkt „Link“ (Zeichenfolge) in folgender Syntax:

Datenquelle_A:Feld_von_Quelle_B=Feld_von_Quelle_A

Im unteren Beispiel befinden wir uns in der Datenquelle pPos (Rechnungspositionen), und das Feld KopfID dieser Datenquelle wird mit dem Feld ID der Datenquelle pKopf (Rechnungskopf) verlinkt.

Bei Berichten mit eingebetteten Datenquellen kann man die Links per Drag&Drop einfügen. Das Beispiel unten würde im Datenkonfigurator folgendem Link in pZE (Zahlungseingänge) entsprechen.

Bei eingebetteten Datenquellen fällt neben dieser komfortablen Methode der Verlinkung auch noch auf, dass man mit einem Doppelklick auf den Link (die Linie die den Link repräsentiert) weitere Einstellungen erreichen kann.

An dieser Stellen kann man einen weiteren Link hinzufügen – das wird selten benötigt –, den bestehenden Link löschen und – das ist das entscheidende – zwischen zwei Eigenschaften des Links wählen.