Phoenix 5 (2)

Phönix 5.0 in der Praxis: Erstellen von Reports, Eingabemasken und Abfragen

Nachdem im letzten Teil die Datenbankstruktur entworfen wurde, geht es in dieser Fortsetzung der dreiteiligen Artikelreihe zu Phönix um die Gestaltung von Ein-/Ausgabe- und Verarbeitungsmöglichkeiten von Datenbeständen.

Eingabemasken

Eine Eingabemaske ist notwendig, um Daten in die Datenbank aufzunehmen. Leider existiert keine Möglichkeit, Daten direkt in eine Tabelle einzufügen, so daß auf eine Maske nicht verzichtet werden kann. Daher erstellt Phönix beim Speichern der Datenbankstruktur automatisch eine Standardmaske, die in der Regel allerdings nicht den eigenen Vorstellungen entspricht. Anhand unserer Beispieldatenbank (Heft 6/98) möchte ich Ihnen einige Möglichkeiten vorstellen, um die Maske unseren Anforderungen anzupassen.

Verschiedene Eingabefelder sollen mit einer Popup/Listbox (häufig auch Dropdown oder Pulldown genannt) versehen werden. Diese bietet die Möglichkeit, Daten aus einer Wertetabelle auszuwählen und einzufügen. Damit auf die Wertetabelle zugegriffen werden kann, muß eine Verbindung zwischen den entsprechenden Feldern hergestellt werden. Diese Verbindung ist nicht mit einer Beziehung zu verwechseln, da in diesem Fall keine Bedingungen und Abhängigkeiten geschaffen werden.

Starten Sie bitte den Designer und öffnen Sie die Fußball-Datenbank. Wählen Sie unter „Sicht" die Option „Wertetabeilen" aus, und aktivieren Sie anschließend das geschlängelte Icon. Jetzt kann eine Verbindung von „Tabelle.Vereinsname" nach „Ver-ein.Vereinsname" gezogen werden. Die Pfeilrichtung zeigt an, daß die Tabelle „Tabelle" auf die Tabelle „Verein" zugreifen kann. Die Tabelle „Verein" ist also unsere Wertetabelle. Stellen Sie die weiteren benötigten Verbindungen gemäß der Abbildung l her.

Öffnen Sie die Maske der Tabelle „Verein" , indem Sie das Masken-lcon auf die entsprechende Tabelle ziehen. Mit einem Doppelklick auf das Feld „Managername" erscheint ein Fenster mit diversen Einstellmöglichkeiten (Abb. 2).

Über dieses Datenfeld soll auf die Wertetabelle Manager zugegriffen werden, daher wählen wir für die Darstellung „Popup/Listbox" aus. Die gleichen Einstellungen gelten für das Feld „Trainername".

Den Anwender der Datenbank interessiert natürlich, welche Spieler momentan im ausgewählten Verein aktiv sind. Hier kommt unsere im letzten Artikel erstellte Beziehung zum Tragen. Bei immer noch geöffneter Bildschirmmaske aktivieren Sie das Masken-lcon und ziehen ein Feld mit gedrückter Maustaste auf. Im Dialogfenster sehen Sie unter „Herkunftsmaske" alle mit der Tabelle „Vereine" verknüpften Tabellen. Die Herkunftsmaske „Spieler" ist in diesem Fall die korrekte. Damit eine Übersicht gewährleistet ist, sollte die Anzeigeart die Tabellenform sein. Durch die Eingabe von Breiten und Höhen wird der dargestellte Ausschnitt der Tabelle angegeben. Da für eine Überprüfung des Ergebnisses ständig zwischen Manager und Designer gewechselt werden muß, ist hier ein wenig Geduld gefordert, bis die gewünschte Größe erreicht ist.

Damit haben Sie eine Untermaske erstellt, in der die abhängigen Datensätze aus der Spielertabelle angezeigt werden.

In der Bildschirmmaske „Spieler" stellen Sie für „Vereinsname" wieder „Popup/Listbox" ein.

Eine neue Darstellungsart kommt für die Position der Spieler hinzu. Hier ist es angebracht, Werte vorzugeben, die mittels „Radio-Knopf" ausgewählt werden können. Das erspart dem Anwender Tipparbeit und verhindert immer wieder abweichende Angaben. Ergebnisse wie Mittelfeld, in der Mitte oder mittig wären dann die Folge.

Nachdem Sie die Darstellungsart eingestellt haben, kommen jetzt die fest definierten Werte hinzu. Unter „ Werte" erscheint eine neue Dialogbox, in der mit dem Trennzeichen „|" die Werte eingetragen werden. In unserem Beispiel nehmen wir: Abwehr/Mit-telfeld/Sturm. Eine weitere Präzisierung ist für die Fußballfreaks unter den Lesern natürlich jederzeit möglich. Die Untergrenze wird mit l und die Obergrenze mit 3 angegeben (3 verschiedene Optionen).

Stellen Sie bitte in der „Tabelle" für das Feld „Vereinsname" die Darstellungsart „Popup/Listbox" ein.

Abschließend sollten Sie das Feld „To-reDiff" als Ausgabefeld definieren (Doppelklick auf das entsprechende Feld in der Tabelle), da es für die spätere Berechnung als Ergebnisfeld dient und daher eine Sperrung für die Eingabe angebracht ist.

Rechnungen

Damit ist das Kapitel Designer erst einmal abgeschlossen, und wir wenden uns nun dem Manager zu.

Nach der Eingabe von Punkten, Toren etc. sollen automatisch die Platzierungen der Vereine berechnet werden. Dazu schreiben wir uns eine kleine Rechnung. Die Tabelle „Tabelle" muss dabei markiert sein, damit die Rechnung entsprechend zugeordnet werden kann. Klicken Sie auf das Taschenrechnersymbol und geben folgende Formel ein: ToreDiff=TorePlus-ToreMinus; (oder optional über die Pulldownmenüs).

Das Grundprinzip dürfte anhand dieser Formel klar geworden sein. Das Ergebnisfeld wird als erstes benannt, gefolgt von der eigentlichen Rechnung und abgeschlossen mit dem Semikolon. Komplexe Verschachtelungen und IF-THEN-ELSE Funktionen sind an dieser Stelle möglich, doch dazu im letzten Teil unserer Artikelreihe mehr.

Schließen Sie das Fenster und speichern die Rechnung unter dem Namen „Tabellenplätze" ab.

Abfragen

Damit das Ergebnis sinnvoll sortiert wird, benötigen wir eine Abfrage. Klicken Sie auf das Icon mit dem Fragezeichen und dann auf „+/-"• Wählen Sie den Sortierungsmodus „Absteigend" und verschieben Sie zuerst das Feld „Punkte" und dann „ToreDiff" zu „Sortiert nach" (Abb. 3).

Beim Aufruf dieser Abfrage wird unsere Tabelle fortan zuerst nach den Punkten und bei Gleichstand nach der Tordifferenz sortiert.

Schließen und speichern Sie die Abfrage möglichst unter dem Namen „Tabelle", dadurch wird erreicht, daß beim Aufruf der Tabelle automatisch die Abfrage mit gleichem Namen aktiviert wird. Ansonsten müßte die Abfrage gesondert gestartet werden.

Wechseln Sie bitte wieder in den „Designer" und öffnen Sie dort die Maske für die Tabellenplätze. Mit einem Doppelklick auf die leere Fläche wird ein „Masken-Info" aufgerufen. Tragen Sie in der „Ausgangsrechnung" den Namen der oben erstellten Rechnung ein, also „Tabellenplätze" und verlassen Sie den „Designer" anschließend wieder (Speichern nicht vergessen!).

Durch diese Angabe wird das Ergebnis sofort beim Speichern aktualisiert, andernfalls müßte der Anwender zum Aktualisieren das Rechner-Icon betätigen.

Berichte

Das Berichtsfenster ist intuitiv bedienbar, ähnlich einer Textverarbeitung. Mit einem Doppelklick auf das obere Lineal erscheint eine Auswahlbox mit diversen Eigenschaften für den Bericht. Besondere Beachtung ist dabei der Datenherkunft und dem Namen der Tabelle/Abfrage zu widmen. Erstellt werden soll ein Report für die Tabellenplätze, also geben Sie bitte als Datenherkunft „Abfrage" und als Abfrage „Tabelle" ein bzw. die Namen, die Sie gewählt haben.

Ein Bericht unterteilt sich in drei bzw. fünf Bereiche: Seitenkopf/-fuß (Ausdruck auf jeder neuen Seite), Be-richtskopf/-fuß (Ausdruck einmalig auf Seite 1) und den Detailbereich, in dem für gewöhnlich alle gewünschten Datensätze ausgedruckt werden.

In der Abb. 4 habe ich in den Seitenkopf die Überschriften gesetzt (A-Icon) und in den Detailbereich die Felder (ab-lcon) für die Datensätze. Das gewünschte Datenfeld muß vorher im Pulldown-Menü ausgewählt werden.

Schließen und speichern Sie den Bericht unter dem Namen „Tabellenplätze".

Abschließend brauchen wir noch einen Report, der die Vereine mit ihren Spielern ausdrucken kann.

Erstellen Sie einen neuen Bericht aus der Tabelle „Spieler", und ziehen Sie die Felder „Vereinsname" und „Spieler" in den Detailbereich. Hierbei tritt ein Problem auf, bei dem der Entwickler „tricksen" muß. Phönix kennt keine Gruppierung! Das bedeutet, das Programm druckt vor jeden Spieler den Vereinsnamen. Bei einer Gruppierung nach Vereinen würde dieser Fall nicht auftreten. Hiermit ein dringender Aufruf an Application Systems Heidelberg: Bitte führt im nächsten Update eine Gruppierungsfunktion ein.

Phönix bietet allerdings eine Möglichkeit, dieses Problem zu umgehen. Rufen Sie die Eigenschaften mit einem Doppelklick auf dem Feld „Vereinsname" auf, und aktivieren Sie „Duplikate ausblenden". Damit erreichen wir, daß der Vereinsname einmalig erscheint. Nicht sehr elegant, aber es funktioniert.

Bei Bedarf können Sie mich weiterhin unter meiner E-Mail Adresse dstender@lhsystemsas.de erreichen. Ich lasse Ihnen dann gerne die komplette Datenbank zukommen. Für weitere Fragen stehe ich Ihnen ebenfalls gerne zur Verfügung.


Detlev Stender
Aus: ST-Computer 07 / 1998, Seite 44

Links

Copyright-Bestimmungen: siehe Über diese Seite