11. Ein Formular erstellen

Ein Formular ist eine höchst individuelle Form der Tabellendarstellung. Sie bestimmen, welche Felder darin angezeigt werden, können diese beliebig arrangieren sowie Grafiken zeichnen und einfügen.

11.1.  Einfache Formulare aus einer Tabelle

Ohne Formular-Assistenten

Wir schließen zunächst alle Tabellen und Formulare und erstellen wieder aus der im Beispiel 1 erstellten Adressen-Datenbank ein neues Formular.

Markieren Sie Formulare und wählen Sie dann Neu - Entwurfsansicht. Wählen Sie im Auswahlfenster die gewünschte Tabelle aus.

Sie erhalten nun ein leeres Formular-Blatt, in welches die gewünschten Felder eingefügt werden können.

Die vorhandenen Felder der vorhin ausgewählten Tabelle können nun aus dem kleinen separaten Fenster markiert und in das Feld gezogen werden.

 

Der Feldname erscheint immer links vom Feldeintrag. Dieser Feldname kann unabhängig vom eigentlichen Feld verschoben werden.

Um zu sehen, wie das Formular dann schließlich aussehen wird, klicken Sie wieder ganz links oben auf den 'Ansicht'-Button .

 

11.2.  Formulare aus verknüpfte Tabellen erstellen

Formulare für komplexere Datenbanken (z.B. 1:N Beziehungen) können nun auf zwei Arten erstellt werden: (1) Die Haupttabelle (Tabelle "1") bildet das Hauptformular und die Nebentabelle (Tabelle "N") bildet darin ein Unterformular - vergleichbar dem oben erläuterten Unterdatenblatt in der Haupttabelle (Tabellenansicht); (2) es werden einfach zwei verschiedene Formulare aus den zwei vorhandenen Tabellen angefertigt, die dann miteinander verknüpft sind.

11.2.1.    Verknüpfte Formulare

Anhand von Beispiel 2.

Wir öffnen die Datei Proben und wählen Formular - Neu - Formular-Assistent

Einfügen von Feldern aus verschiedenen Tabellen. Daher jeweils eine Tabelle bei Tabellen/Abfragen auswählen und die gewünschten Felder in dem rechten Feld einfügen.

D.h., aus TabLokalit und TabProben werden alle Felder ausgenommen Lok-ID eingefügt (denn Lok-ID ist nur der Primärschlüssel, den wir ja nicht selber eingeben und dessen Wert uns nicht weiter interessiert).

Dann auf Weiter klicken.

Access erkennt nun, dass es sich um verknüpfte Tabellen handelt und fragt uns, ob wir Formulare mit Unterformular(en) oder Verknüpfte Formulare anlegen wollen.

Für unser erstes Formular wählen wir Verknüpfte Formulare.

Wenn man wieder Weiter klickt, kann man einen Hintergrund auswählen.

Als nächstes werden wir nach den Formular-Titeln gefragt und wählen wieder aussagekräftige Namen, damit spätere Manipulationen übersichtlicher werden.

Für das 1. Formular (= Hauptformular, entspr. Tabelle "1"): FmLokalit1
Für das 2. Formular (= Unterformular, entspr. Tabelle "N"): UFmProben1

Wir wählen den Zusatz "1", weil wir noch weitere Formulare erstellen werden

Nun wählen wir Das Hauptformular öffnen und Fertig stellen.

Wir erhalten nun das Formular FmLokalit. Das verknüpfte Unterformular UFmProben können wir öffnen, indem wir auf den Knopf UFmProben klicken.

Nun öffnet sich unser Unterformular mit den Proben. Wenn wir nun im FmLokalit in der unteren Navigationsleiste zur nächsten Lokalität gehen, ändert sich auch entsprechend der Inhalt im verknüpften Formular

11.2.2.    Haupt- und Unterformular

Nun machen wir das selbe mit Haupt- und Unterformular am selben Beispiel.

Schließen Sie alle offenen Tabellen und Formulare.

Die ersten Schritte sind gleich wie oben

Wie vorher wählen Sie Formular - Neu - Formular-Assistent

Einfügen von Feldern aus verschiedenen Tabellen. Daher jeweils eine Tabelle bei Tabellen/Abfragen auswählen und die gewünschten Felder in dem rechten Feld einfügen.

D.h., aus TabLokalit und TabProben werden alle Felder ausgenommen Lok-ID eingefügt (denn Lok-ID ist nur der Primärschlüssel, den wir ja nicht selber eingeben und dessen Wert uns nicht weiter interessiert).

Dann auf Weiter klicken.

Access erkennt nun, dass es sich um verknüpfte Tabellen handelt und fragt uns, ob wir Formulare mit Unterformular(en) oder Verknüpfte Formulare anlegen wollen.

Im Gegensatz zu vorher wählen wir nun Formulare mit Unterformular(en).

Als Layout wählen wir Datenblatt, wählen dann wieder einen Hintergrund aus und schließlich die Namen der Formulare.

In Anlehnung an die vorhergehenden Formulare wählen wir als Formular-Namen:

Für das 1. Formular (= Hauptformular, entspr. Tabelle "1"): FmLokalit2
Für das 2. Formular (= Unterformular, entspr. Tabelle "N"): UFmProben2

Das Unterformular wird als Tabelle angezeigt, weil wir im Assistenten Datenblatt ausgewählt haben.

11.2.3.    Layout des Formulars verändern

In den Layout-Entwurfsmodus kommen wir wieder mit

Bei der Änderung des Layouts beachten Sie, dass Sie das Unterformular separat vom Hauptformular editieren müssen.

Schließen Sie das Formular, dann sehen Sie im Fenster das Hauptformular FmLokalit2 und das Unterformular UFmProben2.

Beachten Sie, dass UFmProben2 nur als Tabellenform, nicht als eigentliches Formular angezeigt wird (dies haben wir dem Assistenten angegeben). Wenn Sie also z.B. die Spaltenbreite von UFmProben2 verändern wollen, müssen Sie das über den Tabellenentwurf machen!

Layout des Hauptformulars: Markieren Sie FmLokalit2 und wählen Sie Entwurf. Das Unterformular wird im Entwurf angezeigt - a b e r  die eigentliche Darstellungsform wird dann eine Tabelle sein.

 

Vergrößern und verschieben: Wenn Sie ein Objekt anklicken und die Maustaste gedrückt halten, wird der Mauscursor zur Hand und Sie können das Objekt verschieben. Wenn Sie einmal draufklicken und die Maus loslassen, erhalten Sie schwarze Rechtecke rund um das Objekt und können die Größe verändern.

Text: Einmal mit der Maus auf das Feld klicken. Sie können nun den Text markieren und Formatieren (Farbe, Schriftart ...) über die Menü-Kopfzeile bearbeiten.

Bilder (z.B. gescannte) könne Sie über Einfügen - Grafik einfügen

 

In der Formular - Entwurfsansicht erhalten sie folgende 'Toolbox':

 

Optionen der Toolbox:

Objekte markieren:           auswählen von Menübefehlen, Objekten, etc. im Formular; verschieben, vergrößern, etc.

Steuerelement-Ass.:        ist dieser Knopf aktiviert, erscheint bein Einfügen eines neuen Elementes (s.u.) ein Assistent für die Formatierung des Elementes

Bezeichnungsfeld:           erzeugt ein Feld mit rein beschreibendem Text, wie Überschriften oder Feldbeschriftungen

Textfeld:                             Erzeugt neue Eingabefelder

Optionsgruppe:                Optionsgruppen können Kontrollkästchen, Optionsfelder oder Umschaltflächen (s.u.) zusammenfassen. Innerhalb einer Gruppe kann lediglich ein Wert ausgewählt werden.

Umschaltfläche:                können z.B. zur Eingabe von Ja/Nein Werten verwendet werden.

Optionsfeld:                      wie Umschaltflächen, aber optisch unterschiedlich

Kontrollkästchen:            ebenfalls wie Umschaltflächen, aber optisch unterschiedlich.

Kombinationsfeld:           erzeugt ein Feld mit einer Auswahlliste, die durch Anklicken des Pfeils aktiviert wird.

Listenfeld:                         Auswahl eines Wertes aus einer vordefinierten Liste.

Befehlsschaltfläche:        aktiviert einen Befehl, z.B. ein Makro

Bild:                                    Einfügen eines Bildes (Pixel-Grafik) am Formular (das Bild ist dann nicht an einen einzelnen Datensatz gebunden).

Objektfeld:                         ungebundene Objekte wie Grafiken. Das Objekt wird nicht innerhalb der Datenbankdatei gespeichert (daher 'ungebunden)! Im Gegensatz zu 'Bild' können auch Tabellen udgl. eingefügt werden.

Gebundenes Objektf.:      Objekt w.o., aber das Objekt wird dann in der Datenbank gespeichert.

Seitenwechsel:                  Seitenwechsel im Formular, falls das Formular für den Bildschirm zu groß wird.

Register-Steuerel.:            erstellt Formular in Form eines Registers, falls das Formular für den Bildschirm zu groß wird.

Unterformular/Ber.:          Einfügen eines Unterformulares

Linie:                                  Einfügen von Linien

Rechteck:                           Einfügen von Rechtecken

Weitere Steuerel.:             Zeigt weitere Steuerelemente an (z.B. Kalender-Steuerelement).

 

11.2.4.    Darstellungsformen des Unterformulars

Über das Symbol  öffnen Sie das Fenster Eigenschaften.

Wenn Sie nun irgendein Objekt des Formulares anklicken, sehen Sie dessen Eigenschaften.

Klicken Sie nun 2x auf die linke obere Ecke des Unterformulares.

Im Register Format des Eigenschften-Fensters können Sie zwischen drei verschiedenen Formatierungen wählen.

Über das  Ansichts-Symbol  sehen Sie dann, wie die unterschiedlichen Darstellungsformen des Unterformulars aussehen:

Datenblatt:


Einzelnes Formular:

Endlosformular:

 

11.2.5.    Das Eigenschaften-Fenster

Je nachdem, welches Objekt im Formular angeklickt ist, werden unterschiedliche Eigenschaften angezeigt.

Hinweise zur Bedeutung der einzelnen Formatierungskriterien erhalten Sie, indem Sie in das jeweilige Feld klicken und auf der Tastatur die Steuertaste F1 drücken.

11.2.6.    Kombinationsfelder

Kombinationsfelder sind 'Auswahlfenster' im Formular, aus denen ich Werte auswählen kann.

Auswahlfenster mit Assistenten erstellen

Beispiel: In unserer Datenbank Proben.mdb haben wir das Feld Alter. Dieses Feld enthält chronostratigraphische Begriffe, die genormt sind. Wenn man das Alter zu jedem Datensatz 'händisch' eingibt, kann man sich leicht verschreiben. Außerdem ist das Schreiben zeitaufwendiger.

Lösung: Wir erstellen eine neue Tabelle und nennen diese TabChrono. Diese Tabelle enthält nur ein Feld, nämlich den chronostratigraphischen Begriff; dieses nenne wir Chrono. Nachdem jeder Begriff nur einmal vorkommt, verwenden wir dieses Feld auch gleichzeitig als Primärschlüssel. In der Tabellenansicht geben wir nun die chronostratigraphischen Einheiten (Unter-Eozän, Mittel-Eozän, Unter-Miozän, etc.) ein.

Dann öffnen wir unser Formular FmLokalit2 im Entwurfsmodus. Wir könnten jetzt das vorhandene Feld Alter entsprechend modifizieren. Um es einfacher zu machen, benutzen wir aber den Assistenten und löschen zunächst das vorhandene Feld Alter. (Dies wirkt sich NICHT auf die Tabelle aus, d.h., das Feld wird nicht in der Tabelle gelöscht!).

Nun klicken wir in der Toolbox auf das Symbol für das Kombinationsfeld und klicken auf der Maske dorthin, wo es dann erscheinen soll. Wir erhalten automatisch den Assistenten zum Formatieren dieses Feldes.

Im Assistenten wählen wir die erste Option, weil wir die Werte ja aus der vorhandenen Tabelle TabChrono entnehmen wollen. Dies geben wir im dann im nächsten Fenster auch an. Im nächsten Fenster bringen wir das Feld Chrono (wir haben ja nur das eine in dieser Tabelle) in die Ausgewählten Felder. Später werden wir gefragt, wo wir die chronostrat. Einheiten, die wir aus der Tabelle auswählen speichern wollen. Logischer weise wählen wir hier das Feld Alter aus unserer Tabelle TabLokalit. Schließlich müssen wir das Kombinationsfeld an sich noch benennen und geben ihm den Namen Alter.

Wenn wir in die andere Ansicht wechseln, können wir nun weitere Daten eingeben und brauchen immer nur das Alter aus dem Auswahlfenster auswählen.

Beachte: wenn ich eine neue chronostrat. Einheit einfügen will, muss ich dies in der Tabelle TbChrono machen.

 

Auswahlfenster 'manuell' erstellen

Zur Erstellung von Kombinationsfenstern muß man aber nicht das vorhandene Feld aus dem Formular löschen, sondern man kann auch ein vorhandenes Textfeld einfach in ein Kombinationsfeld umwandeln.

Als nächstes Kombinationsfeld in unserem Beispiel bietet sich das Feld Land an.

Wir erstellen wie vorher eine neue Tabelle namens TabLand, wieder mit nur einem Feld Land, das wir als Primärschlüssel definieren.

Geben Sie nun die Länder ein.

Dazu klicke ich mit der rechten Maustaste auf das Feld und wähle Ändern zu - Kombinationsfeld.

Dann wählen wir im Eigenschaften-Fenster im Register Daten bei Datensatzherkunft die Tabelle TabLand aus.

 

Übung: Geben Sie nun im Hauptformular eine neue Lokalität ein, z.B.:

Lokalität: Haunsberg, Land: Salzburg, Alter: Unter-Eozän

 

Kombinationsfelder in die ich auch Daten eingeben kann

Für unser Feld Land wollen wir ein Kombinationsfeld erstellen, aus dem ich vorhandene Einträge auswählen kann (ähnlich wie beim Alter durchgeführt), in das ich aber auch direkt neue Daten zufügen kann ohne die Tabelle extra zu öffnen.

1.) Abfrage erstellen namens AbNurLand. In diese nur ein Feld, nämlich Land, einfügen.

2.) Neues Kombinationsfeld in Formular einfügen und bei den Eigenschaften folgendes ändern:

            Steuerelementinhalt:                Land

            Herkunfstyp:                             Tabelle/Abfrage

            Datensatzherkunft:                  AbNurLand

            Nur Listeneinträge:                  Nein

            Automatische ergänzen:         Ja

 

Kombinationsfenster zur Datennavigation

Beispiel: Ein Formular dient ja nicht nur zur Dateneingabe, sondern auch zur übersichtlichen Darstellung der Daten. Die Navigation zwischen den Datensätzen ist aber in der bisherigen Form unübersichtlich.

Lösung: Auch dieses Problem kann man mit einem Kombinationsfeld in Form eines Navigationsfeldes lösen. Dazu wählen wir in der Entwurfsansicht des Formulars wieder Kombinationsfeld und klicken am Formular auf die entspr. Stelle. Im Assistenten wähle ich jetzt aber die dritte Option und wähle die Felder, die im Navigationsfenster angezeigt werden sollen. Wir wählen hier alle, ausgenommen Lok-ID. Schließlich benenne ich das Kombinationsfeld als Navigation. Wenn ich jetzt wieder in die Normalansicht gehe, kann ich dieses Fenster anklicken und sehe dann die vorhandenen Datensätze. Wähle ich einen Datensatz aus, wird er mir angezeigt.

Beachte: Dieses Navigationsfenster dient nicht der Dateneingabe!!!

 

Übung: Formatiere das Formular-Layout und arrangiere die Felder.

 


11.2.7.    Befehlsschaltflächen

Eine andere Art der Navigation ist über die Befehlsschaltflächen möglich. Dazu in der Formular - Entwurfsansicht aus der Toolbox die Option Befehlsschaltflächen auswählen und im Formular platzieren.

Folge dann den Anweisungen.

 

Übung: Verschaffe dir einen Überblick über die Optionen und gestalte weitere Schaltflächen für die Navigation (z. B. Suchen, löschen, etc.).

 

11.3.  Formulare mit 'platzsparender' Darstellung für das Durchblättern von Datensätzen

Die einzelnen Felder eines Datensatzes können auch in einem einzelnen Feld dargestellt werden.

Öffne FmLokalit2 in der Entwurfsansicht, wähle im Menü Datei - Speichern unter und erstelle so ein neues Formular namens FmLokalit3.

In der Toolbox klicke auf Textfeld  und platziere ein neues Textfeld im Hauptformular. Dies ist nun ein ungebundenes Textfeld, d.h., dieses Feld kommt nicht aus der Tabelle

Lösche nun aus dem Hauptformular die Felder Lokalit, Land und Alter.

In das neue Textfeld schreibe nun: =[Lokalit] & ", " & [Land] & ", " & [Alter]

 

 

wechsle nun mit  in die Datenblatt-Ansicht

 

 

So kann ich ein Formular für die Dateneingabe erstellen und ein zweites für das Durchblättern der Daten. Ich habe somit nicht nur eine platzsparende Darstellung, sondern auch Datensicherheit, da die Daten in diesem zweiten Formular nicht verändert werden können.

Dies ist natürlich auch für das Unterformular möglich