8k Aufrufe
Gefragt in Datenbanken von Einsteiger_in (33 Punkte)
Hallo zusammen,

ich habe hier ein kleines Problemchen, das mich nicht mal am 24. Dez. in Ruhe lässt ;-( Es geht hier um eine Access-DB Vers. 2003. Ich habe 2 Tabellen und ein Formular. In diesem Formular möchte ich 2 Kombinationsfelder einrichten, die voneinander abhängig sind, d.h. in Combo1 kann man den Kunden auswählen und in Combo2 sollen alle Ansprechpartner auswählbar sein, die nur zum ausgewählten Kunden gehören. Ich habe so ungefähr 10 Stunden schon daran verbraten und so langsam bekomme ich graue Haare...

Details:

Erste Tabelle: tabKunden
Erste Spalte: Kdnr
Zweite Spalte: Kundenname

Zweite Tabelle: tabAnspr
Erste Spalte: Kundenname
Zweite Spalte: Ansprechpartner

Beziehung: 1:n über Kundenname

Formular heißt frmTest und beinhaltet bis jetzt nur die zwei Kombinationsfelder.

Ich hatte auch folgenden Code rausgegoogelt, aber dennoch ohne Erfolg:
Private Sub Combo1_AfterUpdate()
Me!Combo2.RowSource = "SELECT Kundenname, Ansprechpartner " & _
"FROM tabAnspr " & _
"WHERE Kundenname = " & Me!Combo1
Me!Combo2 = Me!Combo2.Column(0, 0)
End Sub

Ich würde mich sehr freuen, wenn mich jemand unterstützen könnte!

Wünsche hiermit auch schöne besinnlich Festtage.

Alex

4 Antworten

0 Punkte
Beantwortet von rahi Experte (1.5k Punkte)
Hallo AlexK,

10h sind zuviel, deshalb hier ein kleines Weihnachtsgeschenk ;-)
Setze die "RowSource" für die Kombobox (bei mir Name k) der Kunden auf "SELECT Kundenname from tabKunden" und die Rowsource der Kombobox (a) von den Ansprechpartnern lösche, die soll ja erst gefüllt sein, wenn ein Kunde ausgewählt worden ist.
Private Sub k_AfterUpdate()
Me!a.RowSource = "SELECT Ansprechpartner from tabAnspr where Kundenname = '" & Me!k & "'"
End Sub

Bei beiden Boxen solltest du die Eigenschaft "gebundene Spalte" auf 1, "Spaltenanzahl" auf 1 und "Spaltenbreiten" leer lassen.
So funktioniert es bei mir.

Gruß
Ralf
0 Punkte
Beantwortet von Einsteiger_in (33 Punkte)
Hallo Ralf,
vielen Dank für die schnelle Antwort. Ich habs sofort ausprobiert (hab auch meine Comboboxen umbenannt in a und k).

Nun: Ich mache das k-Kombifeld auf und ich kann die Kunden auswählen --> sehr gut!
Allerdings: Wenn ich jetzt ins a-Kombifeld klicke bekomme ich eine Fehlermeldung: Die auf diesem Formular oder Bericht angegebene Datenherkunft 'SELECT Ansprechpartner from tabAnspr where Kundenname = 'Schmidt GmbH" ist nicht vorhanden.

Verstehe ich nicht ganz, vor allem, was bedeuten denn die Hochkommata? Warum kommt nach GmbH ein einzelnes Anführungszeichen?

Ralf, ich wünsche dir ein schönes Weihnachtsfest!

Viele Grüße
Alex
0 Punkte
Beantwortet von rahi Experte (1.5k Punkte)
Hallo Alex,

das kann nur bedeuten, dass 'Ansprechparner', 'tabAnspr' und/oder 'Kundenname' falsch geschrieben ist. Prüfe mal deine Tabelle. Die Anführungszeichen müssen sein, da es sich um eine Zeichenkette handelt.

Auch dir noch ein schönes Fest.

Gruß
Ralf
0 Punkte
Beantwortet von Einsteiger_in (33 Punkte)
Ich kann es noch gar nicht fassen...es funktioniert. Tatsächlich hatte ich einen Schreibfehler drinnen. Vielen Dank Ralf.

VG
Alex
...