Access 7.0
Kombinierte Kombinationsfelder in Formularen
Antwort
Tip: In Formularen von Datenbanken werden häufig mit Hilfe von Kombinationsfeldern
Daten aus anderen Tabellen übernommen. So ist es etwa denkbar, daß Sie eine Tabelle
angelegt haben, in der Autohersteller und Autotypen aufgelistet sind. Möchten Sie in
einer zweiten Tabelle festhalten, welcher Kunde welches Auto gekauft hat, können Sie
über Kombinationsfelder auf die Tabelle mit den Autotypen zugreifen und mit einem
Mausklick in die Kundentabelle übernehmen. Normalerweise listet Access aber sowohl
im Kombinationsfeld mit den Autoherstellern als auch in dem Typenfeld grundsätzlich
alle Einträge der Typentabelle auf. Dies passiert unabhängig vom
Inhalt des anderen Kombinationsfeldes. Mit einem Trick können Sie aber dafür sorgen,
daß, sobald im ersten Feld ein Hersteller ausgewählt wurde, im zweiten Feld nur noch
die Typen erscheinen, die diese ausgewählte Firma herstellt. Ist als Hersteller etwa
»Opel« gewählt, so werden im Kombinationsfeld »Typ« nur die dazugehörenden
Autotypen wie »Corsa«, »Omega« und »Vectra« angezeigt. Erstellen Sie zunächst eine
Tabelle, in der Sie die Autotypen auflisten. Sie muß die beiden Felder »Hersteller« und
»Typ« enthalten. Geben Sie anschließend die entsprechenden Daten ein. Die Ta-
belle mit den Kunden bezieht ihre Daten aus den Abfragen „AF_Hersteller“, in der alle
Hersteller aufgelistet sind, und „AF_Typ“, die ein Auswahlkriterium enthält. Legen Sie
für die Tabelle »Kunden«
die Felder »Kunde«, »Hersteller« und »Typ« an. Für die Abfragen verwenden Sie am
besten den Auswahlabfrage- Assistenten, zu dem Sie mit einem Klick auf »Neu« im
Register »Abfrage« gelangen. Legen Sie unter »Tabellen | Abfragen« die Tabelle mit
den Autotypen fest und übernehmen dann unter »Verfügbare Felder« den Eintrag
»Hersteller« in »Ausgewählte Felder«. Geben Sie im nächsten Dialogfeld den Namen
»AF_Hersteller« an und lassen nach einem Klick auf die Option »Den Abfrageentwurf
ändern« Access die Abfrage »Fertigstellen«. Sie befinden
sich nun in der Entwurfsansicht der Abfrage. Klicken Sie mit der rechten Maustaste in
den oberen Bereich des Fensters, um an »Eigenschaften« zu gelangen. Stellen Sie dort
die Option »Keine Duplikate« auf »Ja«. In der zweiten Abfrage übernehmen Sie sowohl
»Typ« als auch »Hersteller« der Tabelle mit den Autotypen und vergeben die
Bezeichnung »AF_Typ«. Auch diese Abfrage sollten Sie in der Entwurfsansicht öffnen
und in der Spalte »Hersteller« unter dem Punkt »Kriterien« diese Zeichenfolge eingeben:
»[Formulare]![ Kunden]![Hersteller]«. Entfernen Sie dann in derselben Spalte das
Häkchen in »Anzeigen« und schließen die Abfrage. In einem neuen Formular, das auf
der Tabelle »Kunden«
basiert, übernehmen Sie nur das Feld »Kunde«. Öffnen Sie das Formular in der
Entwurfsansicht und erzeugen das erste Kombinationsfeld »Hersteller« durch einen
Klick auf die entsprechende Schaltfläche. Im Assistenten geben Sie als Datenursprung
die Abfrage »AF_Hersteller« an und legen fest, daß Sie die Daten im Feld »Hersteller«
der Tabelle speichern wollen. Nach derselben Methode legen Sie das Kombinationsfeld
»Typ« an, das seine Daten aus der Abfrage »AF_Typ« bezieht und im Feld »Typ«
ablegt. Ändern Sie nach einem rechten Mausklick auf das Kombinationsfeld
»Hersteller« und »Eigenschaften« im Register »Andere« unter »Name« die
Standardbezeichnung auf »Hersteller« und wechseln in das Register »Ereignis«. Wählen
Sie dann in der Zeile »Nach Aktualisieren« den Eintrag »Ereignisprozedur«, um mit
einem Klick auf die Schaltfläche mit den drei Punkten in den Editor zu gelangen.
Zwischen die beiden vorhandenen Zeilen fügen Sie die folgende Zeile ein:
»Me.[Typ].Requery« Definieren Sie den Namen des zweiten Kombinationsfeldes als
»Typ« und wechseln darauf in die Normalansicht des Formulars. Sobald Sie nun im
Kombinationsfeld »Hersteller« einen Wert auswählen, bietet das Kombinationsfeld
»Typ« nur noch die Typen dieses Herstellers an.