Ein Beispielformular

Wir erinnern uns an das Beispiel, das uns während des gesamten Access-Tutorials begleitet: Wir wollen nun Orte und Bundesländer in einem Formular eintragen. Zur Erinnerung, wir haben zwei Tabellen:

Beziehungen
tblLänder 1 tblOrte
IDLand IDOrt
txtLand txtOrt
lngLand

Wir erstellen ein neues Formular und wählen tblOrte als Datensatzquelle. In den Formulareigenschaften (Register „Daten“, Eigenschaft „Datensatzquelle“) kann man jede vorhandene Tabelle oder Abfrage auswählen. In der Praxis hat jedes Formular normalerweise seine eigene Abfrage. Man könnte sogar eine Abfrage im Formular selbst als Datensatzquelle speichern, aber das ist definitiv nicht zu empfehlen, da es nicht nur zeitaufwendiger in der Pflege ist, sondern auch die Performance beeinträchtigt.

In der Entwurfsansicht sollte der Steuerelement-Assistent ausgeschaltet sein. Er ist zwar manchmal eine nützliche Hilfe, aber für den Lerneffekt eines Tutorials kontraproduktiv. Man findet ihn im Menüband bei den Steuerelementen, wenn man sie ganz aufklappt.

Zuerst ziehen wir nun txtOrt aus der Feldliste in den Formularentwurf. Dort sehen wir nun ein Textfeld mit txtOrt darin, und davor ein Bezeichnungsfeld, das mit txtOrt: beschriftet ist. Bei diesem Bezeichnungsfeld handelt es sich um einen sogenannten assoziierten Bezeichner.

Nun wählen wir aus den Steuerelementen Kombinationsfeld aus und ziehen lngLand aus der Feldliste ins Formular. Auch hier wird zugleich ein assoziierter Bezeichner eingefügt. Den Namen des Kombinationsfelds ändern wir im Eigenschaftenregister „Andere“ auf cboLand. Dann legen wir fest, was das Kombinationsfeld eigentlich anzeigen soll. Dazu wählen wir im Eigenschaftenblatt das Register „Daten“. Der Steuerelementinhalt lngLand ist ja schon korrekt (schließlich haben wir es ins Formular gezogen), und die Eigenschaft „Herkunftstyp“ muss auf Tabelle/Abfrage stehen. Wir setzen die Datensatzherkunft auf tblLänder, und „gebundene Spalte“ auf 1.

Wir sollten auch noch die Beschriftungen der beiden assoziierten Bezeichner ändern. Dazu wählen wir sie aus und ändern die Eigenschaft „Beschriftung“, idealerweise zu &Ort: bzw. &Land: (jeweils mit einem „&“ am Anfang). Jetzt schalten wir in die Formularansicht.

Formular1

1 von 8

Das „O“ in „Ort“ und das „L“ in „Land“ sind unterstrichen, weil wir in der Bezeichnung jeweils ein „&“ vorangestellt haben. So kann man mit den Tastenkombinationen [ALT]-O bzw. [ALT]-L zwischen den beiden Steuerelementen hin- und herspringen.

Im Kombinationsfeld cboLand kann man zwischen den Zahlen 1 bis 16 wählen, also den Nummern der Bundesländer aus tblLänder. Das ist natürlich unbefriedigend; man erwartet ja deren Namen. Daher ändern wir einige Eigenschaften des Kombinationsfelds in der Entwurfsansicht: Wir stellen im Register „Format“ die „Spaltenanzahl“ auf 2 und geben unter „Spaltenbreiten“ 1cm; 3cm ein. Auch „Breite“ sollte auf mindestens 4cm stehen. Dann gehen wir zurück zur Formularansicht.

Wenn wir jetzt das Kombinationsfeld öffnen, sehen wir nicht nur die Nummern der Bundesländer, sondern auch deren Namen. Wir haben nämlich festgelegt, dass das Kombinationsfeld die ersten zwei Spalten der Tabelle tblLänder anzeigen soll. Gebunden ist die Erste (es wird also der Wert der ersten Spalte eingetragen). Bei dieser Einstellung ist es meist sinnvoll, die Eigenschaft „Spaltenbreiten“ auf Werte wie 0cm; 3cm zu setzen. So wird die Nummer ausgeblendet, nur der Name des Bundeslandes ist noch sichtbar.

Was das Formular nicht anzeigt, ist der ID des Ortes. Und wozu auch? In den meisten Fällen können solche Informationen in Formularen weggelassen werden. Unser Formular ist also fertig, und wir speichern es unter frmOrte.

frmOrte

3 von 8

Das sollte aber niemanden davon abhalten, noch etwas mit dem Formular zu spielen. Bei Formularen führen meistens viele Wege zum Ziel. So könnte man z. B. testen, ob man für die Bundesländer eine Optionsgruppe statt eines Kombinationsfeldes nutzen möchte.