PDA

Vollständige Version anzeigen : Probleme beim Kombinationsfeld


Volkan
25.09.2003, 16:46
In meinen Unterformular habe ich ein Kombinationsfeld eingefügt
mit zwei Kriterien (AB-Nr.) , (Hersteller- Nr.). Das Kombinationsfeld soll ausgewählte daten wieder geben die mit der Hersteller-Nr in oberen Formular übereinstimmen. Mein problem liegt darin das ich nicht weiß wie ich das Kombinationsfeld in Unterformular mit der Hersteller-Nr in obern Formular verbinden soll ohne das er mir die AB-Nr. der anderen Hersteller zeigt.

Johnny Loser
25.09.2003, 17:25
Du kannst als RowSource für die ComboBox ein SQL-Statement eingeben, z.B.:

SELECT AbNr, HerstellerNr FROM DeineTabelle WHERE HerstellerNr = " & Forms!DerNameDesHauptforms.DerNameDesTextfelds
Wenn sich die Herstellernummer im Hauptformular ändert, mußt Dur nur ein ComboBox.Requery absetzen.

J_Eilers
25.09.2003, 19:12
Hallo Volkan,

mir ist leider nicht ganz klar, was du genau machst. Möchtest du Daten entsprechend deinem Eintrag im HF angezeigt bekommen? Oder möchtest du die Auswahl deines Kombifeldes einschränken. Des weiteren würde mich deine Struktur interessieren, damit man etwas mehr erkennen kann und die Beziehungen herstellen kann.

Volkan
26.09.2003, 10:50
Ich werde es mal testen was der Johnny Loser mir vorgeschlagen hat.

Ich versuche die auswahl des Kombinationsfeld einzuschränken
J_Eilers. Ich habe eine abfrage gestartet wo ich die ABNr. und die HerstellerNR eingebaut habe. Die HerstellerNR habe ich nur eingebaut damit ich nur die AB Nummern eines Herstellers zu sehen bekomme und davon die richtige nummer wählen kann.

Es tut mir leid das ich euch gestern nicht anworten konnte. Ich hatte schon Schluss. Und zu hause habe kein internet.

Volkan
26.09.2003, 11:07
Ich werde es mal testen was der Johnny Loser mir vorgeschlagen hat.

Ich versuche die auswahl des Kombinationsfeld einzuschränken
J_Eilers. Ich habe eine abfrage gestartet wo ich die ABNr. und die HerstellerNR eingebaut habe. Die HerstellerNR habe ich nur eingebaut damit ich nur die AB Nummern eines Herstellers zu sehen bekomme und davon die richtige nummer wählen kann.

Es tut mir leid das ich euch gestern nicht anworten konnte. Ich hatte schon Schluss. Und zu hause habe kein internet.

J_Eilers
26.09.2003, 11:09
Zu abhängigen Kombifelder kannst du auch mal einen Blick in die FAQ 4.36 werfen. Dort ist auch das Verfahren mit der RowSource-Funktion erklärt. Link ist in meiner Signatur.

Volkan
26.09.2003, 11:23
Ich kann nicht darauf zugreifen ich habe mich nicht registriet. Und außerdem was meinst du mit FAQ 4.36, RowSource-Funktion ich weiß nicht was ich mit diesen begriffen anfangen soll ich bin einanfänger was access betrift.

J_Eilers
26.09.2003, 11:26
Schau mal bei www.DonKarl.com vorbei und hier gehst du auf die FAQ 4.36. Dort sind 2 Beispiele für abhängige Kombifelder. Das eine verwendet die RowSource-Funktion, so wie Johnny sie beschreibt.

Volkan
26.09.2003, 11:30
ich guckmal rein bleib dran wenn ich noch fragen habe will ich dich erreichen.

Volkan
26.09.2003, 11:40
ich finde es nicht FAQ 4.36. ich hab mich bei access FAQ durch geklickt was jetzt.

J_Eilers
26.09.2003, 12:04
Hallo,

ich habe dir einen Screenshot gemacht. Dann kannst du es selber lesen. Auf der Page kannst du einfach auf die 4. links klicken und dann auf 4.36 dort steht der gleiche Text.

Volkan
26.09.2003, 12:23
ich kann nicht darauf zugreifen verdammt langsam geht mir das auf die nerven

J_Eilers
26.09.2003, 12:27
Achja stimmt, du bist ja nicht angemeldet...vielleicht kannst du das ja machen? ;)
Also hier die Textversion :)

4.36 ABHÄNGIGE KOMBI/LISTENFELDER


P r o b l e m
Du hast in einem Formular 2 (oder mehr) Kombinations- oder Listenfelder und möchtest, dass der Inhalt des zweiten Kombis vom ersten abhängig ist, also nur mehr jene Datensätze anzeigt, für die im ersten die übergeordnete Kategorie gewählt wurde.

L ö s u n g
Vorbemerkungen: Kombinationsfelder und Listenfelder sind diesbez. ident zu behandeln. Ich gehe auch nicht näher auf die Tabellenstruktur ein. Im Normalfall sollte es zwischen den involvierten Tabellen eine 1:n-Beziehung geben.

Angenommen du hast ein Formular "frm_Artikel" mit 2 Kombis. Eines "cbo_Gruppen" mit den Artikelgruppen, eines "cbo_Artikel" mit Artikeln. Nun möchtest du die Artikelgruppe auswählen und das zweite (abhängige) Kombi soll nur mehr jene Artikel zeigen, die dieser Gruppe angehören.

Enscheidend ist die Datensatzherkunft von cbo_Artikel.
Das kann eine gespeicherte Abfrage sein, in der beim GruppenID-Feld als Kriterium ein Bezug auf das übergeordnete Kombi steht: Forms!frm_Artikel!cbo_Gruppen

Es kann aber auch ein SQL-Ausdruck sein, der in der Eigenschaft "Datensatzherkunft" des abhängigen Kombis steht oder der im Ereignis-Code "Nach Aktualisierung" des übergeordneten Kombis zugewiesen wird:

Me!cbo_Artikel.RowSource = "SELECT ArtikelBezeichnung FROM tbl_Artikel " & _
"WHERE GruppenID= " & Me!cbo_Gruppen

Wenn die Datensatzherkunft des abhängigen Kombis nicht - wie im letzten Beispiel - dynamisch zugewiesen wird sondern z.B. eine gespeicherte Abfrage ist, dann muss noch die Anzeige aktualisiert werden. Dazu schreibst du im Ereigniscode "Nach Aktualisierung" des übergeordneten Kombis einen Requery-Befehl für das abhängige: Me!cbo_Artikel.Requery

Bei http://www.pc-creativ.de/ (unter "Tools) gibt es eine Beispiel-mdb "CreaKombi" von Anette Becker mit verschiedenen Varianten.

BTW Ich gehe jetzt in mein Wochenende und werde nur sporadisch ins Forum schauen, aber wenn du etwas schreibst, dann werde ich auch antworten, wenn ich denn eine Lösung weiß ;)

Volkan
26.09.2003, 12:34
Ich danke dir ich wünsche dir ein schönes Wochenende ich hoffe das ich nicht genervt habe

machts gut!

Volkan Yildirim