Neuigkeiten:

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

Mobiles Hauptmenü

2 Kombifelder verknüpfen

Begonnen von mustermann, August 30, 2016, 10:45:17

⏪ vorheriges - nächstes ⏩

mustermann

So...meine Beziehungen sehen jetzt folgendermaßen aus (Anhang) - Access hat von selbst noch eine zusätzliche Tabelle (tbl_Geraetetyp_1) erstellt und verknüpft  :o

Habe mich mit Formularen ein wenig beschäftigt und bin bei dem eigentlichen Thema angekommen: 2 abhängige Kombinationsfelder! (Anhang combos)

Wie schaffe ich es jetzt, dass nach der Auswahl des Herstellers (cbo_Hersteller) mir beim Modell (cbo_Modell) nur Modelle des jeweiligen Herstellers angezeigt werden?

Habe für cbo_hersteller eine Abfrage ( qry_Hersteller ) und für cbo_Modell eine Abfrage Namens qry_modell erstellt!

Ist das Ganze jetzt weiter von Kriterien abhängig oder?

Gruß

MzKlMu

Hallo,
ZitatAccess hat von selbst noch eine zusätzliche Tabelle (tbl_Geraetetyp_1) erstellt und verknüpft
die ist überflüssig, kannst Du wieder löschen. Erst die Beziehung löschen (Linie markieren >Entf) dann die Tabelle.
Da hast Du wahrscheinlich aus Versehen die Tabelle 2x ausgewählt.
Gruß Klaus

el_gomero

Hallo,

Zitat
Wie schaffe ich es jetzt, dass nach der Auswahl des Herstellers (cbo_Hersteller) mir beim Modell (cbo_Modell) nur Modelle des jeweiligen Herstellers angezeigt werden?

Guckst du in die faq

http://www.donkarl.com?FAQ4.36
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

mustermann

Danke Jürgen - bin nach der Beschreibung vorgegangen aber irgendwie will es nicht so recht.

Habe bei cbo_Hersteller bei Datensatzherkunft folgendes stehen:

SELECT [tbl_Hersteller].[HerstellerID], [tbl_Hersteller].[Hersteller] FROM tbl_Hersteller ORDER BY [Hersteller];

bei cbo_Modell habe ich bei Ereignis nach Aktualisierung folgenden Code hinterlegt:

Private Sub cbo_Modell_AfterUpdate()
Me!cbo_Modell.RowSource = "SELECT Modell FROM tbl_Modell WHERE HerstellerID_F=" & Me!cbo_Hersteller
End Sub

...funktioniert aber nicht!?

MzKlMu

#34
Hallo,
der Code muss in das Ereignis "Nach Aktualisierung" von cbo_Hersteller, beim Modell macht das keinen Sinn.
ZitatPrivate Sub cbo_Hersteller_AfterUpdate()
    Me!cbo_Modell.RowSource = "SELECT Modell FROM tbl_Modell WHERE HerstellerID_F=" & Me!cbo_Hersteller
End Sub
So steht es auch in der FAQ 4.36.
Zitat von: aus FAQ 4.36im Ereignis-Code Nach Aktualisierung des übergeordneten Kombis
Es empfiehlt sich immer genau zu lesen.  ;D

Und für Codedarstellungen immer die Codetags des Forums benutzen.

Gruß Klaus

el_gomero

logisch - du willst doch nur die Modelle des gewählten Herstellers - also muss das Ereignis NachAktualisierung des Kombifelds der Hersteller den Filtervorgang auslösen.


Private Sub cbo_Hersteller_AfterUpdate()

Me!cbo_Modell.RowSource = "SELECT Modell FROM tbl_Modell WHERE HerstellerID_F=" & Me!cbo_Hersteller

End Sub
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

mustermann

...geht trotzdem nicht! Das cbo_Modell ist immer leer!

MzKlMu

Hallo,
zeige mal die Eigenschaftseinstellungen des Kombis "cbo_Hersteller".
Gruß Klaus

mustermann


el_gomero

das Bild sagt nun mal gar nix aus ... - zeige bitte den Code, der ausgeführt werden soll - incl Prozedurkopf und -fuss.
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

MzKlMu

Hallo,
Zitatdas Bild sagt nun mal gar nix aus ...
doch, das Bild zeigt das wonach ich gefragt habe. An den Einstellungen liegt es nicht.
Gruß Klaus

el_gomero

@ Klaus

ok, das hatte ich vorausgesetzt - aber es ist wohl besser alles zu hinterfragen ;)

@ Mustermann

lade doch mal eine auf das Problem reduzierte mit anonymen Spieldaten versehene db im Format mdb hier hoch. Da kann man wohl am besten helfen.
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

MaggieMay

#42
Hallo,
ZitatWie schaffe ich es jetzt, dass nach der Auswahl des Herstellers (cbo_Hersteller) mir beim Modell (cbo_Modell) nur Modelle des jeweiligen Herstellers angezeigt werden?
da - soweit ich das verstanden habe - das zweite Kombi, also cbo_Modell, nicht erwartungsgemäß funktioniert, sind die diesbezüglichen Eigenschaften zu hinterfragen.

Was du gezeigt hast, ist eine Abfrage, die lediglich eine Spalte liefert. Normalerweise sollte ein Kombifeld aber aus mindestens zwei Spalten bestehen, der (versteckten) ID und dem zugehörigen Text. Vielleicht untersuchst du die Kombifeldeigenschaften unter diesem Aspekt noch einmal aufs Neue.

Zitatund für cbo_Modell eine Abfrage Namens qry_modell erstellt
Wie lautet der SQL-Code?
Und warum setzt du diese nicht ein, sondern überschreibst die RowSource per VBA?
Freundliche Grüße
MaggieMay

mustermann

Hallo,

der SQL - Code von cbo_Modell sieht wie folgt aus (Anhang)!
Bei der Ereignisprozedur beim cbo_Hersteller hat sich an dem Code nicht geändert! Habe die Schreibweise auch mehrmals geprüft...


el_gomero

wenn du beim Modell auf den Hersteller einschränken willst, sollte dessen ID auch vorhanden sein - aber die Rowsource wird ja ohnehin bei Änderung des Herstellers neu gesetzt. Wenn es immer noch kemmt bring imo das Rätselraten hier nichts - lade eine Muster-db hoch, dann schau ich mir das gerne an.
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen