Begleitmaterial zum Unterricht M104 «Formulare/GUI»

Komfortabel Daten eingeben

1. Einführung Formulare/GUI

Lernziel:

  • Sie können eine einfache Benutzeroberfläche ergonomisch bzw. benutzerfreundlich gestalten
  • Sie kennen die wichtigsten Formularelemente in OpenOfficeBase und können sie anwenden

Erarbeiten sie die Theorie zu folgendem Thema:

  • Abfragen und Formulare in OpenOfficeBase erstellen

und erstellen sie eine Zusammenfassung. (Sie finden z.B. auf dieser Webseite die entsprechenden Fachbeiträge)

1.1 Formulare erstellen - Schritt für Schritt

Das verwendete Fallbeispiel ist wie beim vorangegangenen Abfragekapitel eine Personen-Kontrollschild-Fahrzeug-Verwaltung, also eine mc-mc Beziehung Person zu Fahrzeug, die eine Zwischentabelle Kontrollschild erforderlich macht. Zum Nachvollziehen und Ergänzen steht die OpenOfficeBase-Datenbank FormularBsp.odb zur Verfügung. Hier FormularBsp.odb herunterladen

Ein (gebundenes) Formular ist ein Datenbankobjekt, mit dem man eine Benutzeroberfläche für eine Datenbankanwendung erstellen kann. Es wird direkt mit einer Datenquelle verbunden, z.B. mit einer Tabelle oder Abfrage, und zum Eingeben, Bearbeiten oder Anzeigen von Daten aus einer Datenquelle verwendet.

Um in OpenOfficeBase Formulare zu erstellen, wechselt man zuerst in das Datenbank-Fenster (Linkes Fenster) und wählt dort «Formulare». Nun hat man zwei Möglichekeiten, sein Formular zu erstellen:

  • Formular in Entwurfsansicht erstellen...
  • Formular unter Verwendung des Assistenten erstellen...

Um ein neues Formular anzulegen, empfiehlt es sich, zuerst einmal den Assistenten zu benutzen. Danach muss, insbesondere bei komplexeren Ausgabenstellungen wo der Assistent bald einmal überfodert ist, in der Entwurfsansicht die Detailarbeit erledigt werden.

Hinweis: Das "einfache" Formular (Bild links) findet man in der OpenOfficeBase-DB «FormularBsp.odb» unter Formulare «F1_Liste». Das komplexere Formular mit Subformular (Bild rechts) findet man in der OpenOfficeBase-DB «FormularBsp.odb» unter Formulare «F5_Subform».


Die Datenbank-Eingabefelder (Formulare und Subformulare) können auf verschiedene Arten angelegt werden:

  • In Spalten - Beschriftungen links oder oben
  • Als Datenblatt
  • In Blöcken - Beschriftungen oben

1.1.1 Personen-Kontrollschild-Fahrzeug-Verwaltung als Datenblatt

So soll es später aussehen:

Das Vorgehen

Der erste Formularentwurf wird mit dem Assistenten erstellt. Nur der «Feldauswahl» muss man besondere Beachtung schenken. Die weiteren Schritte können wie von OpenOfficeBase vorgeschlagen übernommen und allenfalls später im Entwurfsmodus angepasst werden.

Nachdem man das Formular mit dem Assistenten erstellt hat, wird es nun im Bearbeitungsmodus (=Entwurfsansicht) angepasst. Dazu das Formular anwählen, danach Rechtsklick - Bearbeiten.

  1. Spalte «F_Person» (=Fremdschlüssel Person) wählen und Rechtsklick, danach «Ersetzen durch» und «Listenfeld».
  2. Die Eigenschaften der Spalte ändern durch Rechtsklick auf «F_Person» und «Spalte...».
  3. In den «Eigenschaften Listenfeld» die Datenquelle «Daten» auf «SQL» ändern. Damit soll erreicht werden, dass anstatt dem Fremdschlüssel «F_Person» der Name der betreffenden Person angezeigt wird. Dies erfolgt über eine Abfrage aus der Tabelle «T_Person».
  4. Nun muss noch die Datenquelle definiert werden. Dazu in den «Eigenschaften Listenfeld» den «Listeninhalt» anpassen > Den Button mit den drei Pünktchen anwählen und es öffnet sich der Abfrageassistent. Bei «Tabelle oder Abfrage hinzufügen» die Tabelle «T_Person» hinzufügen und den Dialog schliessen.
  5. Im oberen Teil des Abfrageassistenten ist nun die Tabelle «T_Person» aufgeführt. In dieser nacheinander die Felder «Name» und «P_Person» anklicken. Die Attribute erscheinen nun im unteren Teil des Abfrageassistenten. Die Kolonne ganz rechts muss das Attribut sein, das in die Tabelle «T_Kontrollschild» geschrieben wird, in unserem Fall der Fremdschlüssel «F_Person».

Hinweis: Dieses Datenblatt-Formular findet man in der OpenOfficeBase-DB «FormularBsp.odb» unter Formulare «F2_ListeListe».


An dieser Stelle eine kleine Ergänzung:
Will man zusätzlich zum Personennamen «Name» auch noch das weitere Attribut «PLZ» anzeigen, muss wie folgt vorgegangen werden:

  • Im Abfrageassistenten zusätzlich das Attribut «PLZ» anwählen
  • Als «Listeninhalt» wird nun das folgende SQL-Kommando angezeigt:
    SELECT "Name", "PLZ", "P_Person" FROM "T_Person"
  • Da im Datenblatt nur eine Kolonne zur Verfügung steht, müssen die beiden Attribute «Name» und «PLZ» im SQL-Kommando wie folgt verknüpft werden:
    SELECT "Name"||', '|| "PLZ", "P_Person" FROM "T_Person"

Hinweis: Dieses Datenblatt-Formular findet man in der OpenOfficeBase-DB «FormularBsp.odb» unter Formulare «F3_ListeListe».


Aufgabe: Ersetzen sie nun in der OpenOfficeBase-DB «FormularBsp.odb» im Formular «F3_ListeListe» den Fremdschlüssel «F_Autotyp» durch die Fahrzeugbezeichnung «Bezeichnung», wiederum als Abfrage aus der Tabelle «T_Autotyp».


1.1.2 Personen-Kontrollschild-Fahrzeug-Verwaltung mit Subformular

Dieis ist eine Alternative zu dem Formular als Datenblatt und so soll es später aussehen:

Das Vorgehen

Der erste Formularentwurf wird wiederum mit dem Assistenten erstellt. Die Schritte werden in der folgenden Abbildung gezeigt:

Hinweis: Dieses Formular mit Subformular findet man in der OpenOfficeBase-DB «FormularBsp.odb» unter Formulare «F4_Subform».

Bemerkung: «Subformular basiert auf bestehender Beziehung» bedeutet, dass die Beziehungen zwischen den Tabellen (siehe  Topmenu «Extras / Beziehungen») richtig erstellt wurden.

Aufgabe: Ersetzen sie nun in der OpenOfficeBase-DB «FormularBsp.odb» im Formular «F4_Subform» den Fremdschlüssel «F_Autotyp» durch die Fahrzeugbezeichnung «Bezeichnung», wiederum als Abfrage aus der Tabelle «T_Autotyp».

Soll nun auch noch die Tabelle «T_Autotyp» bearbeitet werden können, muss dafür ein weiteres Formular erstellt werden. Wie das etwa aussehen könnte, zeigt die OpenOfficeBase-DB «FormularBsp.odb» mit dem Formular «F5_Subform».

2 Praxis Formulare/GUI

2.1 Formulare gestalten

Entwerfen sie mit einem Zeichnungsprogramm ihrer Wahl die Benutzerschnittstellen bzw. die Formulare für die im vorangegangenen Kapitel «Normalisieren» bearbeiteten Aufgaben «3.3 Reisebüro» und «3.4 Schulbibliothek». Unterscheiden sie dabei die Stammdaten von den Bestands- und Bewegungsdaten und skizzieren sie benutzerfreundliche und thematisch korrekt aufgebaute Benutzerformulare.

2.2 Practice creates masters

Realisieren bzw. Implementieren sie die soeben gestalteten Formulare für Aufgabe «3.3 Reisebüro» und «3.4 Schulbibliothek» in OpenofficeBase.

Hier noch ein paar OpenOfficeBase-Formulartipps:

Folgende Symbolleisten sollten im Fenster des Bearbeitungsmodus verfügbar sein (Wählbar im Topmenü unter Ansicht/Symbolleisten):

  • Formular-Steuerelemente (Beinhaltet z.B. Schaltflächen, Listen- und Kombinationsfelder etc.)
  • Formular-Navigator (Wichtig für die Übersicht Formular/Unterfomular und entsprechende Elemente)
  • Formular-Entwurf (Enthält z.B. den Umschaltknopf Entwurfsmodus an/aus und den Knopf für den Formular-Navigator)
  • Zeichnung (Enthält grafische Formen und ein Textwerkzeug)

Beim Erstellen von Formularen und Unterformularen ist folgendes zu beachten:

  • Der Formular-Navigator ist wichtigstes Instrument zum Überprüfen der Formularstruktur.
  • Die Formulare/Unterformulare sind im Formular-Navigator hierarchisch angeordnet.
  • Soll in einem Formular ein Unterformular erstellt werden, muss im Formular-Navigator das entsprechende überzuordnende Formular mit Rechtsmausklick selektiert werden. Danach Neu/Formular wählen. Durch Einrücken des neu erstellten Unterformulars wird angezeigt, dass dies hierarchisch unter dem bereits bestehenden Formular angeordnet ist.
  • Das Formular (bzw. Unterformular) dient lediglich als Datenquelle. Zu erkennen durch das Selektieren des Formulars mit Rechtsmausklick und danach Eigenschaften wählen. Bei dem nun sich öffnenden Formular-Eigenschaftsfenster interessiert vor allem die Datenherkunft unter Daten/Inhalt.
  • Das Formular kann nicht für Eingaben verwendet werden. Dazu muss man dem Formular nun Eingabefelder wie Listen- und Kombinationsfelder etc. einverleiben. Durch Rechtsklick auf das entsprechende Feld können unter Kontrollfeld wichtige Eigenschaften ergänzt oder überprüft werden wie z.B. Daten/Datenfeld.
  • Auch bei den Schaltflächen muss beachtet werden, welchem Formular diese man hinzufügt.
  • Als Unterformular empfiehlt sich die Verwendung eines Grids. (Tabellen-Kontrollfeld). Dies kann man bei den Formular-Steuerelementen finden. Aus Platzgründen werden einige Felder, mitunter auch das Tabellen-Kontrollfeld nicht direkt angezeigt. Darum zuerst das Icon «Weitere Steuerelemente» anklicken (Icon mit zwei Symbolen und drei Punkten darunter)
  • Ein Tabellen-Kontrollfeld kann mehrere Spalten mit z.B. Listenfelder enthalten.