Kombinationsfeld in Unterformular aktualisieren

Mein Problem: In einem Haupformular befindet sich ein Kombinationsfeld, in dem Lieferscheine ausgewählt werden können. In einem Unterformular ist ein 2tes Kombifeld, in dem die, zu dem zuvor ausgewählten Lieferschein, zugehörigen Lieferscheinpositionen erscheinen sollen. Das 2te Kombifeld muss sich in einem UF befinden, da zu den einzelnen Positionen die Rechnungsbeträge erfasst werden können sollen. Im HF findet die Erfassung der Rechnungskopfdaten statt.
Das HF habe ich mit dem UF über einen Primärschlüssel verbunden, der in den „Datenherkünften“ beider Formulare enthalten ist. Im 2ten Kombifeld habe ich unter der Lieferschein-Nr eingetragen: Forms!Name des HF!Name des zu verbindenden Kombifelds sowie die Ereignisproz. beim Hingehen: Name 2tes Kombifeld.Requery. Es werden allerdings nur beim Suchen des ersten Datensatzes bzw. Lieferscheins die zugehörigen Positionsdaten angezeigt, danach wird nichts mehr aktualisiert und die Positionen des vorherigen Lieferscheins bleiben stehen. Füge ich das 2te Kombinationsfeld zur Überprüfung jedoch ins HF ein, funktioniert alles wunderbar und zu allen Lieferscheinen erscheinen die zugehörigen Positionen. Also muss es wohl daran liegen, dass es sich in einem UF befindet.
Ziemlich kompliziert, aber vielleicht hat trotzdem jemand eine Idee.

Hallo Michael,

es ist eine „Fleissarbeit“, den richtigen Pfad zu einem Control eines Unterformulares zu erhalten.

Wenn das Unterformular in einem Unterformular-Steuerelement mit Namen „UFControl“ steckt, ist der richtige Verweis aus dem Formular heraus:
Me!UFControl.Form!ControlName.Requery
Wenn einer der Namen Sonderzeichen enthält (zu denen auch Leerzeichen gehören!), muß dieser Name in eckige Klammern gesetzt werden!
Gut testen kann man so etwas, indem man den Code an der entsprechenden Stelle anhält und im Debug-Fenster (Testfenster) testet:
? Me!UFControl.Form!ControlName.Name
Sollte den Namen des Controls anzeigen oder eine Fehlermeldung, wenn der „Pfad“ falsch ist!

Grundsätzlich ist es übrigens ziemlich problematisch, sich in Abfragen auf Steuerelemente zu beziehen (gerade auch im Zusammenhang mit Unterformularen) - deshalb umgehe ich das, wo immer es geht! Eine Alternative: Eine spezielle Abfrage, auf der das Control/Formular basieren soll, wird zur Laufzeit gesetzt (mit FESTEM WERT statt Verweis)!
Das Prinzip: Das Control (hier z.B. „MyControl“) beziehe seine Daten aus der Abfrage „Abfragename“.

Sub Irgendwas.Click()
Dim myD As Database, myQD AS QueryDef
Set myDB=CurrentDB
Set myQD=myDB.QueryDefs(„Abfragename“)
myQD.SQL = „Irgendein SQL-Text, mit festem Wert statt Verweis“
Set myQD=Nothing
myDB.QueryDefs.Refresh '(oder so ähnlich)
Set myDB=Nothing
Me!myControl.Requery
End Sub

Kurt