Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Kombinationsfeld: Datenquelle

Begonnen von Pavroo, Oktober 10, 2024, 21:50:45

⏪ vorheriges - nächstes ⏩

Pavroo

Ich habe ein sfrmMediumGeneral mit folgenden Objekten
cmbMedientyp
cmbEditionsart

Datensatzherkunft des sfrmMediumGeneral:
SELECT tblMedium.MEDIUMID, tblMedium.ALBUMID, tblMedium.MEDIENTYPID, tblMedium.EDITIONSARTID, tblEditionsart.Editionsart, tblMedium.EAN
FROM tblMedium LEFT JOIN tblEditionsart ON tblMedium.EDITIONSARTID = tblEditionsart.EDITIONSARTID
WHERE (((tblMedium.ALBUMID)=2090));
WHERE Bedingung dient zum Testen

Datensatzherkunft des cmbEditionsart:
SELECT tblEditionsart.EditionsartID, tblEditionsart.Editionsart FROM tblEditionsart INNER JOIN tblMedientypEditionsart ON tblEditionsart.EditionsartID = tblMedientypEditionsart.EditionsartID WHERE (((tblMedientypEditionsart.MedientypID)=[Forms]![sfrmMediumGeneral]![cmbMedientyp])) ORDER BY tblEditionsart.Editionsart;

Ziel ist es, für jedes Medium die passenden Editionsarten anzubieten.
Das funktioniert so aber nicht, es wird nur die Editionsart für ein bestimmtes Medium zur Auswahl angeboten

Was übersehe ich?

MzKlMu

Hallo,
Du musst die Datenherkunft dynamisch anpassen. Z.B. im Ereignis "Bei Fokuserhalt" des Feldes cmbEditionsart

Me.cmbEditionsart.RowSource "SELECT EditionsartID, Editionsart FROM tblEditionsart" _
                     & " INNER JOIN tblMedientypEditionsart ON tblEditionsart.EditionsartID = tblMedientypEditionsart.EditionsartID" _
                     & " WHERE MedientypID =" & Me.cmbMedientypID & " ORDER BY Editionsart"

Das Kombi muss sich natürlich auf die ID beziehen, nicht den Text.
Gruß Klaus

Pavroo

OK, das klappt soweit, aber damit taucht der Wert erst auf wenn der Datensatz markiert ist.
Mein Anwendungsfall sieht wie folgt aus:

Das Hauptformular zeigt ein Musikalbum
Das Subform zeigt die Medien an (z.B: LP / CD / MC, usw.)
Ein Album kann mehrere Medien haben
Ich möchte natürlich auf einen Blick sehen, welches Medium mit welcher Editionsart vorhanden ist

MzKlMu

Hallo,
wo markiert, im Hafo oder Ufo ?

Kannst Du mal ein Bild der Beziehungen posten ?
Gruß Klaus

Pavroo

Zum Testen genügt es, das Ufo aufzurufen.
Den Code mußte ich minimal verändern, damit er funktioniert:

Me!cmbEditionsart.RowSource = "SELECT tblEditionsart.EditionsartID, tblEditionsart.Editionsart " & _
  "FROM tblEditionsart INNER JOIN tblMedientypEditionsart ON tblEditionsart.EditionsartID = tblMedientypEditionsart.EditionsartID " & _
  "WHERE tblMedientypEditionsart.MedientypID = " & Me!cmbMedientyp & " " & _
  "ORDER BY tblEditionsart.Editionsart;"

Hier die Beziehungen:
Sie dürfen in diesem Board keine Dateianhänge sehen.

Das Verhalten ist wie folgt
Ich öffne das sfrm, es werden 3 DS angezeigt
3 Medientypen werden angezeigt, Editionsart ist leer
Wechsle ich auf die Editionsart und verlasse das Feld (z.B. mit Pfeil rechts), so wird es mit dem richtigen Eintrag gefüllt
Wechsle ich von DS zu DS, so wird der Eintrag wieder "unsichtbar"

Was hingegen klappt, ist die Zuordnung von Editionsart zu Medium, welche ja in der tblMedientypEditionsart definiert ist

Hoffe mein Geschreibsel ist halbwegs verständlich