Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Verknüpfte Kombinationsfelder

Begonnen von Chacco.94, Dezember 07, 2017, 12:34:07

⏪ vorheriges - nächstes ⏩

Chacco.94

Hallo :)
Ich bin noch ziemlich neu hier und hoffe, jemand kann mir helfen;)
Hier mein Problem: ich habe in einem Access-formular ein unterformular mit 2 abhängigen Kombinationsfeldern. Die Abhängigkeit des 2. Feldes habe ich dabei durch ein Kriterium in der Abfrage erstellt, die als Datensatzherkunft dient.
Mein Ziel ist es also, dass wenn ich im 1. Kombinationsfeld einen Wert auswähle, um 2 mir die dazugehörigen Daten zur Verfügung stehen. Das klappt auch, jedoch werden in dem Unterformular (endlosformular) im 2. Komb-feld bei jedem Datensatz die Werte angezeigt, die nur zum ersten Datensatz gehören. Das feld wird also nicht aktualisiert.

Ich habe schon zwecks der Aktualisierung ereignisprozeduren mit requery, refresh und repaint ausprobiert, jedoch werden dann teilweise vorher eingegebene Daten bei einem datensatzwechsel entfernt.

Makros kann ich nicht verwenden, da es eine Access 2003 Version sein muss.
Hat jemand eine Idee, wie ich ansonsten das kombinationsfeld bei jedem Datensatz aktualisieren kann?

DF6GL

Hallo,

kann Deinen Ausführungen nicht ganz folgen:

ZitatDas klappt auch, jedoch werden in dem Unterformular (endlosformular) im 2. Komb-feld bei jedem Datensatz die Werte angezeigt, die nur zum ersten Datensatz gehören. Das feld wird also nicht aktualisiert.

erklär das nochmal mit anderen Worten.

Interpretierend:

Damit das Unterformular den richtigen (im 2. Kombi ausgewählten Datensatz) richtig anzeigt, muss das Unterformular nach dem im 2. Kombi ausgewählten ID-Wert gefiltert werden oder die Datenherkunft (Abfrage) mit diesem als Kriterium zu übergebenden ID-Wert neu eingelesen (Requery) werden.
Zitat
jedoch werden dann teilweise vorher eingegebene Daten bei einem datensatzwechsel entfernt.

Die Auswahl-Kombifelder müssen ungebunden sein!



Beaker s.a.

Hallo,
Löse das Requery zusätzlich im Ereignis "Form_Current" aus.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Chacco.94

Danke erstmal für die Antwort!

Also ich meine damit, dass sich die Werte, die im 2. Kombinationsfeld "angeboten" werden ja für jeden Wert des 1. Kombinationsfeldes ändern müssen. Das ist jedoch nicht der Fall. Die Daten des 2. Feldes werden zwar gefiltert, aber nur für den Wert mit der ID 1 aus ComboBox 1..sodass für alle weiteren Werte nicht die richtigen gefilterten Daten angezeigt werden, sondern die zum ersten gehörenden ;)

Chacco.94

Zitat von: Beaker s.a. am Dezember 07, 2017, 12:43:12
Hallo,
Löse das Requery zusätzlich im Ereignis "Form_Current" aus.
gruss ekkehard

Doofe Frage, aber heisst das Ereignis in dem Eigenschaftenblatt auch genau so? Finde das leider nicht..

DF6GL

Hallo,

siehe hier:

http://www.donkarl.com/?FAQ4.36

Das Form_Current-Ereignis gibt es nur für das Formular selber, wie der Name auch schon sagt.

Mit der Aktualisierung der/des Kombis hat das eher weniger zu tun.


Beaker s.a.

Hallo,
Zitatheisst das Ereignis in dem Eigenschaftenblatt auch genau so
Da heisst das "Beim Anzeigen". Allerdings nur in den Eigenschaften des
Formulars, wie von Franz bereits erwähnt.

'im Hauptformular
Private Sub DeinKombi2_AfterUpdate
    Me.NameDesUFoControls.Form.Requery
End Sub

Private Sub Form_Current()
    Me.NameDesUFoControls.Form.Requery
End Sub

Wobei ich davon ausgehe, dass der Bezug auf das Kombi in der DS-Herkunft
des UFo vorhanden ist.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)