![](/file/23459/chip_04_2004.iso/images/spacing.gif) |
Kombinierte Kombinationsfelder in Formularen
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 Tabelle 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. Yang Fang
|
![](/file/23459/chip_04_2004.iso/images/spacing.gif) |