Hallo,
Gilt das genauso, wenn ich von einer Form auf eine andere
verweise, also nicht aus einem UFO, sondern mit zwei
gleichberechtigten Formularen?
Wenn Du auf ein anderes, separat (für sich ) geöffnetes Formular zugreifen willst, muß die Forms-Auflistung des Application-Objektes benutzt werden:
Forms(„Formular3“)
und dort auf Textfeld1:
Forms(„Formular3“)!Textfeld1
oder gleichbedeutend:
Forms!Formular3!Textfeld1
ausgeschrieben:
Application.Forms(„Formular3“).Controls.Item(„Textfeld1“)
(btw: —> da gibt es nirgends ein Ausrufezeichen
)
Wenn ich aus dem HF eine weiteres Steuerelement mit einem
Formular drin öffne und dann auf ein Feld im Hauptform
verweisen will, ist dann „Me“ das neue Formular oder das alte
HF?
versteh ich nicht…
Me ist IMMER das akt. Form(-Objekt), in dem sich dieser Code befindet
Und noch ne ganz doofe Frage:
ist nicht "doof! 
Im VBA-Editor bei Access steht immer „Form_formname“. Ich
nehme an, ich muss als Name des Steuerelementes dann
„formname“ benutzen.
Ja, kann man so (auch) sagen, besser ist aber:
Ich muß den Namen des Formulares so nehmen, wie er im Datenbankfenster/Formulare zu finden ist.
Dieses „Form_formname“ ist der Name der Formularklasse, die erzeugt wird, sobald das Formular Code besitzt (Form-Eigenschaft „Enthält Modul“ auf ja steht.)
"Gibt es Fälle, in denen ich Gänsefüsschen
brauche oder eckige Klammern brauche?
Ja,
Gänsefüße sind die Begrenzungszeichen eines Literalstrings (fester Text/Zeichen im Code) in VBA.
Eckklammern (um den ganzen Namen) sind nötig, wenn in Namen Sonder- und/oder Leerzeichen benutzt oder der Name ein reserviertes Wort ist. werden.
Vielverbocktes Beispiel:
„Name“ als Name für ein Tabellenfeld.
Dann bedeutet:
Me.Name —> der Name des Forms, in dem dies benutzt wird.
Me.[Name] (wobei besser, aber nicht ausschlaggebend hier: Me![Name]) —> der Verweis auf ein Textfeld mit Namen „Name“.
verwirrend, gell
)
Viele Grüße vom Bodensee
Franz , DF6GL
PS: Feedback erwünscht!