Access97: Kombifeld ruft gefilt. Kombifeld auf?

Ich möchte mit Access97 folgendes Problem lösen:

In einem Formular soll nach Auswahl eines Landes in einem Kombinationsfeld1 (z. B.: Italien) ein zweites Kombinationsfeld aktiviert werden, in dem dann die REGIONEN des gewählten Landes zur Auswahl angezeigt werden (z.B: Süditalien). Bei einer Auswahl im Kombifeld2 z. B: „Süditalien“ sollen alle Städte von Kunden, die in diesem Bereich wohnen in dem Kombinationsfeld3 angezeigt werden.

Bei einem erneuten Klick im Kombifeld3 auf eine bestimmte Stadt z. B. Rom, sollten alle Kunden, die in dieser Stadt wohnen herausgefiltert und angezeigt werden.

Meine Datenbanken:
tblLand
Felder Art Typ Hinweis
Nr-Land Autowert Integer programminterne Datensatznummerierung
Land Text für Bezeichnung des Landes: „Italien“

tblRegion
Felder Art Typ Hinweis
Nr-Region Autowert Integer programminterne Datensatznummerierung
Nr-Land Autowert Integer VERKNPÜPFUNG mit frmLand
Region Text für Bezeichnung des Landes: „Süditalien“

tblKunden
Felder Art Typ Hinweis
Nr-Kunde Autowert Integer programminterne Datensatznummerierung für Kunden
Nr-Land Autowert Integer VERKNÜPFUNG mit tblLand
Nr-Region Autowert Integer VERKNÜPFUNG mit tblRegion
Name Text Name des Kunden
Vorname Text Vorname des Kunden
Ort Text Wohnort des Kunden
usw.

Meine Frage:

Wie heißt der VBA-Code um nach der Wahl im Kombinationsfeld1 das Kombifeld2 zu aktivieren und die entsprechende Auswahl zu treffen, analog für Kombifeld3 u. wie kann ich mit den 3 Werten aus den Kombifelder die Daten filtern?

Ich hoffe, dass ich mich verständlich ausgedrückt habe. Bin auch für kleine Hinweise dankbar.

Vielen Dank im Voraus u. Gruesse

Franz Englbrecht

Verwende das NachAktualisieren-Ereignis der jeweiligen Coomboboxen.
Dabei kann man gleich eine gewisse Benutzerführung einbauen.

Beispiel Land wird ausgewählt;
Sub ComboLand_OnUpdate()
GewähltesLand = Me.ComboLand
Me.ComboRegion.RowSource = „Select Regionen… From … WHERE Land = '“ & Me.ComboLand & „’“
Me.ComboRegion.Requery
Me.ComboRegion.SetFocus
Sendkeys „{F4}“, True
End Sub

Damit wird die ComboBox Region mit den Werten des gewählten Landes gefüllt und gleichzeitig aktiviert und aufgeklappt (was ich mit der Benutzerführung meinte).

Analog mit den AfterUpdate der Region verfahren, Ziel wird dann die ComboBox Orte.

Zum Darstellen der Kunden das Ganze in Haupt- und Unterformular trennen.
Hauptformular ungenbunden, enthält die Comboboxen.
Unterfomrular enthält die Daten der Kunden und kann mit Land, Region und Ort des Hauptformulares verknüpft werden.

Syntax der Prozedur muß auf den Fall angepaßt werden, hier vereinfacht für die Darstellung der Absicht.

Andreas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Andreas,

vielen Dank für Deine ausführlichen Tipps!
Ich habe mit folgenden VBA-Code noch Probleme:

Mir wird zwahr nach der Wahl des Landes
in der msgbox der Name des gewählten Landes
richtig angezeigt, aber anschließend werde ich nach dem PARAMETER-WERT: LAND gefragt
Ich glaube das der Inhalt ‚" & Me.Kombi_Land & "‘" nicht richtig übergeben wird!

Wenn ich dann als PARAMETER-WERT „Deutschland“ eintrage, werden im Kombi-Feld
Regionen auch Regionen aus anderen Ländern angezeigt!!

Irgendwie sitze ich da auf der Leitung
Vielleicht entdeckst du den Fehler.

Vielen Dank u. Gruesse

Franz Englbrecht

Hier der noch fehlerhafte VBA-Code
Beispiel Land wird ausgewählt;

Private Sub Kombi_Land_AfterUpdate()
Dim GewähltesLand As String

GewähltesLand = Me.Kombi_Land
MsgBox (GewähltesLand)

**** HIER SCHEINT DAS PROBLEM *****
**** in der Zeichensetzung zu liegen ****

Me.Kombi_Region.RowSource = „Select Region from region where Land = '“ & Me.Kombi_Land & „’“
***************************
***************************

Me.Kombi_Region.Requery
Me.Kombi_Region.SetFocus
SendKeys „{F4}“, True
End Sub

Me.Kombi_Region.RowSource = „Select
Region from region where Land = '“ &
Me.Kombi_Land & „’“

Der fertige String muß später heißen:

…where Land = ‚land‘

Das heißt: (mit Blanks dazwischen zwecks besserer Ansicht)

…where Land = ’ " & Me!Kombi_Land & " ’ "

Gruß,
Claudio

Hallo Claudio,

danke für Deinen Tipp.
Ich muss es aber erst noch ausprobieren u. hoffe, dass es dann klappt!

Gruesse aus Niederbayern

Franz Englbrecht

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]