Office - Word, Excel und Co. 9.754 Themen, 41.612 Beiträge

Listenfeld in Access 2000

d-oli / 3 Antworten / Flachansicht Nickles

Hallo Leute,


 


Ich habe eine kleine Test-Datenbank mit vier Tabellen (Tabelle1-4) die wie folgt zueinander in Beziehung stehen:


 


- tabbelle1/tabbelle2 = 1 zu n


- tabbelle2/tabbelle3 = 1 zu n


 -tabbelle3/tabbelle4 = 1 zu n


 


Nun habe ich ein Formular angelegt, in dem ich drei Listenfelder eingefügt habe. Je eines für Tabelle 1, 2 und 3. Nun möchte ich, wenn ich im Listenfeld der Tabelle 1 eine Zeile anklicke im Listenfeld der Tabelle 2 nur jene Datensätze anzeigen die dem angeklickten Datensatz im Listenfeld der Tabelle 1 zugeordnet sind. Wie mach ich das? Ich habe versucht beim anklicken eine Abfrage zu Erzeugen, um diese im nächsten Listenfeld darzustellen. Ging nicht.....


 


Wer kann weiterhelfen?


 


Danke , d-oli

Konstruktive Kritik zeichnet sich dadurch aus, dass sie höflich, nützlich und sachlich ist.
bei Antwort benachrichtigen
pco d-oli „Listenfeld in Access 2000“
Optionen

nennen wir die Listenfelder Liste1 bis Liste4.
Dann funktioniert das ganze so.
Liste1 : Steuerelementefeldinhalt = Tabelle1
Liste2 : SE-Inhalt = Parameterabfrage der Tabelle2 mit dem Parameter [Liste1.text] über Verknüüfungsschlüssel...
Liste3 : SE-Inhalt = Parameterabfrage der Tabelle3 mit dem Parameter [Liste2.text]...
Liste3 : SE-Inhalt = Parameterabfrage der Tabelle4 mit dem Parameter [Liste3.text]...

Wir brauchen also 3 Parameterabfragen.

So nun etwas Visual-Basic:

Eigenschaften Liste1:
OnClick (also Ereignis_Beim-Clicne) -> ...
Visual-Basic-Editor (Code-Generator):

Funktionsinhalt:

Liste2.setfocus
Liste2.requery
Liste3.setfocus
Liste3.requery
Liste3.setfocus
Liste3.requery
Liste1.setfocus

Sollte an sich so klappen. Etwas raffinierter geht es, wenn man aus den Listen ein Listenfeld macht:

For i=1 to 4
Liste(i).setfocus
Liste(i).requery
End For
Liste(1).setfocus

Ich kann es jetzt nicht ausprobieren, aber ich denke so geht es...

PCO

bei Antwort benachrichtigen