Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Eine der wichtigsten Aufgaben für Formulare ist die Anzeige der Daten eines einzelnen Datensatzes – und zwar in einer Form, in welcher der Benutzer die Daten komfortabel eingeben kann. Dazu gehört, dass man zunächst die Tabelle oder Abfrage, deren Daten im Formular erscheinen sollen, als Datensatzquelle angibt. Dann nutzt man die praktische Feldliste, aus der wie alle Felder der Datenquelle einfach in das Formular ziehen kann. Schließlich passen wir die Elemente noch an und erhalten so ein Formular zur Anzeige der Details eines Datensatzes.
Beispieldatenbank
Die Beispiele dieses Artikels findest Du in der Datenbank FormulareBasics_Grundlagen.accdb.
Anlegen des Formulars
Das neue Formular legen wir über den Menübefehl Erstellen|Formulare|Formularentwurf an. Wir erhalten so ein neues, leeres Formular in der Entwurfsansicht (siehe Bild 1).
Bild 1: Anlegen des neuen Formulars
Formular speichern
Als erste Aktion speichern wir das Formular nun. Dazu betätigen wir die Tastenkombination Strg + S. Sofern das Formular zuvor noch nicht gespeichert wurde, erscheint der Dialog Speichern unter, wo wir den Formularnamen frmLeserDetails eingeben (siehe Bild 2).
Bild 2: Speichern des Formulars
Direkt danach ändert sich der Name im Titel des Formulars auf den angegebenen Wert.
Wechseln wir danach in die Formularansicht (zum Beispiel mit Formularentwurf|Ansichten|Formularansicht), sehen wir ein komplett leeres Formular (siehe Bild 3). Zu beachten ist der untere Bereich mit den Navigationsschaltflächen: Hier werden 1 von 1 Datensätze angezeigt, aber man kann keinen neuen Datensatz anlegen. Logisch: Wir haben ja auch noch keine Datensatzquelle hinterlegt, in der ein neuer Datensatz hinterlegt werden könnte.
Bild 3: Das Formular in der Formularansicht – hier noch ohne Daten
Formular erneut entwerfen
Wenn das Formular einmal geschlossen ist und Du willst es erneut bearbeiten, gelingt das am schnellsten mit einem Rechtsklick auf den Formularnamen im Navigationsbereich von Access und Auswahl des Kontextmenü-Eintrags Entwurfsansicht.
Schritte zum Anzeigen von Daten im Formular
Unser neues Formular soll die Daten eines Datensatzes der Tabelle tblLeser anzeigen. Dazu sind folgende Schritte nötig:
- Zuweisen dieser Tabelle als Datensatzquelle des Formulars
- Hinzufügen von Steuerelementen, die an die Felder dieser Tabelle gebunden sind
Zuweisen der Datensatzquelle
Wird das Formular in der Entwurfsansicht angezeigt, erscheint üblicherweise auch das Eigenschaftenblatt. Ist dies nicht der Fall, blenden wir dieses nun mit der Taste F4 ein.
Hier wechseln wir zur Registerseite Daten. Diese hält die Eigenschaft Datensatzquelle bereit, mit der wir alle Tabellen oder Abfragen der Datenbank auswählen können. Wir wählen hier den Eintrag tblLeser aus (siehe Bild 4).
Bild 4: Zuweisen der Datensatzquelle
Welche Änderung erreichen wir damit Wechseln wir erneut in die Formularansicht, sehen wir im unteren Bereich zwischen den Navigationsschaltflächen die Anzeige 1 von 10 (siehe Bild 5).
Bild 5: Das Formular enthält bereits Daten.
Und auch wenn wir noch keine Steuerelemente zur Anzeige von Daten hinzugefügt haben, sehen wir hier schon, dass das Formular grundsätzlich Daten enthält. Wir können sogar schon darin navigieren.
Steuerelemente mit Daten hinzufügen
Access ist nicht umsonst als die Datenbankanwendung unter Windows bekannt, mit der sich am schnellsten nutzbare Anwendungen erstellen lassen. Einer der Gründe dafür ist, dass wir nach dem Auswählen einer Datensatzquelle für ein Formular direkt gebundene Steuerelemente auf Basis der Felder dieser Tabelle erstellen können.
Dazu blenden wir mit dem Menübefehl Formularentwurf|Tools|Vorhandene Felder hinzufügen die sogenannte Feldliste ein.
Diese zeigt alle Felder der Tabelle oder Abfrage an, die wir als Datensatzquelle angegeben haben. Wir markieren durch Aufziehen eines Rahmens mit der Maus alle Felder und ziehen diese in den Detailbereich des Formularentwurfs (siehe Bild 8).
Bild 6: Einfügen von gebundenen Steuerelementen
Was automatisch passiert
Durch das Hineinziehen der Steuerelemente sind verschiedene Dinge geschehen:
- Es wurde jeweils ein Textfeld für jedes der Felder angelegt.
- Diesem wurde ein Bezeichnungsfeld hinzugefügt. Dass das Textfeld und das Bezeichnungsfeld verbunden sind, erkennen wir erstens daran, dass wenn wir eines der beiden Elemente markieren, auch das kleine graue Kästchen am anderen Element erscheint. Außerdem können wir in der Eigenschaft Bezeichnungsname des Textfeldes den Namen des verknüpften Bezeichnungsfeldes entnehmen (siehe Bild 6).
- Als Name für das Textfeld wurde der Name des Feldes eingetragen. Dieser Name ist wichtig, wenn Du später einmal per VBA auf das Feld zugreifen möchtest – oder den Inhalt des Textfeldes als Teil eines berechneten Ausdrucks eines anderen Steuerelements zu nutzen.
- Für das Textfeld wurde außerdem die Eigenschaft Steuerelementinhalt auf den Namen des Feldes eingestellt, das wir aus der Feldliste in den Formularentwurf gezogen haben. Dies gibt an, aus welchem Feld der Datensatzquelle dieses Steuerelement seinen Wert für den aktuellen Datensatz beziehen soll.
Bild 7: Angabe des Bezeichnungsfeldes eines Textfeldes
Resultierende Bindungen
Wir haben nun also auf zwei Ebenen Bindungen zwischen dem Formular und der Tabelle tblLeser erstellt:
- Wir haben das Formular frmLeserDetails über die Eigenschaft Datensatzquelle an die Tabelle tblLeser gebunden.
- Wir haben Steuerelemente hinzugefügt, die automatisch an die Felder dieser Datensatzquelle gebunden, damit die Daten des aktuellen Datensatzes in den Steuerelementen angezeigt werden.
Optimierungsidee Steuerelementname
Wie Du siehst, lautet der Name der Textfelder nun jeweils wie der Name des Feldes, an welches das Feld gebunden ist. Das kann mitunter zu Verwirrung führen. Daher schlage ich vor, dass wir die Namen von gebundenen Steuerelementen so ändern, dass diese ein Präfix erhalten. Dieses Präfix soll gleichzeitig andeuten, um was für eine Art von Steuerelement es sich handelt. In diesem Fall haben wir nur Textfelder angelegt, die wir alle mit dem Präfix txt versehen möchten. Für das Textfeld, das an das Feld Vorname gebunden ist, erledigen wir das wie in Bild 7.
Bild 8: Ändern des Namens eines Textfeldes
Weitere Steuerelementtypen
Wenn die dem Formular zugrunde liegende Tabelle Ja/Nein-Felder enthält oder sogar Nachschlagefelder, dann legt Access automatisch Kontrollkästchen beziehungsweise Kombinationsfelder an, die an dieser Felder gebunden sind. Auf diese Steuerelemente gehen wir in weiteren Artikeln ein.
Steuerelemente mit Beschriftung
Die gebundenen Steuerelemente werden direkt inklusive Bezeichnungsfeldern untereinander im Formular platziert. Die Bezeichnungsfelder erhalten entweder den Feldnamen als Text oder, falls vorhanden, den Wert der Eigenschaft Beschriftung aus dem Tabellenentwurf. Hier haben wir bereits vorgearbeitet, sodass etwa statt des Feldnamens EMail die Beschriftung E-Mail erscheint. Wie man das einstellt, zeigt der Artikel Formulare [basics]: Grundlagen (www.access-basics.de/625).
Und damit wir nicht immer Doppelpunkte zu den Beschriftungen hinzufügen müssen, sollte dies gewünscht sein, haben wir im Artikel Formulare [basics]: Doppelpunkt per Vorlage (www.access-basics.de/623) eine Anleitung geschrieben, wie man diese Aufgabe dauerhaft automatisiert.
Nutzen wir diese Möglichkeiten, erhalten wir nach einem Wechsel in die Formularansicht das Formular aus Bild 9.
Bild 9: Das Formular in der Formularansicht
Die hier hinzugefügten Steuerelemente wollen wir nun noch ausrichten und ihre Größe anpassen. In diesem Fall ist der größte Teil der Arbeit schon erledigt, weil wir alle Felder gleichzeitig aus der Feldliste in den Detailbereich gezogen haben. Ist das nicht der Fall, weil Du die Steuerelemente einzeln hinzugefügt hast, findest Du Details zur nachträglichen Ausrichtung im Artikel Formulare [basics]: Steuerelemente ausrichten (www.access-basics.de/626).
Breite der Steuerelemente optimieren
In diesem Fall brauchen wir nur noch die Breite der Steuerelemente anzupassen. Das Feld LeserID kann schmaler dargestellt werden, E-Mail sollte ein wenig breiter sein. Und der Inhalt des Feldes Geburtsdatum soll wie die meisten übrigen Felder noch linksbündig erscheinen.
Das Anpassen der Steuerelementbreiten an die Feldinhalte erledigen wir am einfachsten in der Layoutansicht. In diese wechseln wir nach einem Rechtsklick auf die Titelleiste des Formulars mit dem Kontextmenüeintrag Layoutansicht (siehe Bild 10).
Bild 10: Wechsel zur Layoutansicht
In der Layoutansicht können wir nun einzelne Steuerelemente markieren und diese durch Ziehen der Seiten mit der Maus vergrößern oder verkleinern (siehe Bild 11).
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo