ein „Unterformular“ (UFO) ist zunächst mal nur(!) ein Steuerelement, das wie jedes andere Control Eigenschaften und Methoden hat.
Ein UFO-Steuerelement ist in der Lage (und auch dafür entwickelt), irgendein anderes Formular in seinem „Fenster“ (Rahmen) anzuzeigen.
Dieses UFO-Steuerelement hat (u. a.) die Eigenschaften „Name“ (deren Inhalt in den meisten Fällen mit dem anzuzeigenden Formularnamen übereinstimmt, wenn man den Assistenten aus der Toolbox bemüht und was allgemein verwirrend wirkt) und „Form“, die den Verweis (Referenz) auf das angezeigte Formular(objekt) darstellt.
Weiterhin erhält das (Unter)Formular, sobald es vom UFO-Steuerelement angezeigt (geladen) wird,eine weitere(!) Eigenschaft „Parent“, die die Referenz aus dem Unterformular auf das Hauptformular darstellt.
D. h.
-> im HF:
ME!Ufo_Steuerelementname.FORM!Textfeld1
referenziert das Textfeld1 im Unterformular des aktuellen (!, das wird auch oft übersehen) Datensatzes.
Nachdem in manchen Access-Versionen .FORM als Default-Eigenschaft definiert ist, reicht dann:
was bei Namensgleichheit zu sowas führt:
ME!Formular2!Textfeld1
In einem vom UFO-Steuerelement angezeigten (Unter)Form steht wie o.g. die Eigenschaft „Parent“ zur Verfügung:
Im (Unter)-Formular als Verweis auf ein Steuerelement (was wiederum ein UFO-Steuerelement sein kann) im Hauptform:
ME.PARENT!Textfeld2
ergibt den Inhalt des Textfeldes „Textfeld2“ im Hauptform.
woraus sich wiederum ergibt:
ME.PARENT!Ufo_Steuerelementname2.Form!Textfeld2
als Verweis auf das Textfeld2 des akt. Datensatzes im vom Ufo_Steuerelement2 angezeigten Formular.
Grundsätzlich (als Pi mal Daumen-Regel) sollte man
–Punkt vor Eigenschaften/Methoden
–Ausrufezeichen vor eigenerstellten Steuerelementen
benutzen. Es gibt Unterschiede zwischen den beiden, deren Erklärung aber hier zu weit führt.
siehe auch: http://www.donkarl.com/?FAQ4.2
Vielen Dank an Franz(DF6GL) für diesen Beitrag.
User Netwolf hatte das Thema auch nochmal folgendermaßen zusammengefasst:
Häufig kommt es vor, dass man auf Felder in Unterformularen (UFOs) zugreifen muss.
Das Unterformular wird so genannt, weil es in der Hierachie der Objekte unter dem Hauptformular steht, obwohl es physikalisch auf diesem liegt.
Hierachie der Formular-Objekte
1. Hauptformular (Me)
2...............Felder auf dem Hauptformular
2...............Unterformular
3.............................Felder auf dem Unterformular
Möchte man nun auf die Felder des UFOs zugreifen, wandelt man die vertikale Darstellung einfach in die horizontale Darstellung um:
1...2......3
Me.UFO!FeldaufUFO
zu beachten sind dabei die Zeichen: Punkt(.) und Ausrufezeichen(!)
um vom UFO auf das Hauptformular zuzugreifen, verwendet man den Begriff PARENT statt ME.
Beispiel: PARENT.Vorname