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 | |||||||||
---|---|---|---|---|---|---|---|---|---|
|
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.