Mit welchem Befehl setze ich den Cursor in einem von einem anderen Formular aus neu geöffneten Formular und dessen Eingabefeld?

In einem Formular (das geöffnet bleiben soll) wird per Button der Befehl

oFormularNew = ThisDatabaseDocument.FormDocuments.getByName (“Neues Formular”).open
oMainForm = oFormularNew.Drawpage.Forms.getByName (“MainForm”)

ausgelöst und das neue Formular angezeigt. Mit oMainForm kann ich bzgl. des neu geöffneten Formulars bestimmte Parameter modifizieren (Textfeld anzeigen/ausblenden, Filter setzen etc.).

Das Setzen des Cursors in einem Textfeld im neu geöffneten Formular aus dem oben beschriebenen Makroumfeld, ausgelöst im vorherigen Formular, funktioniert bisher nicht.

Hat jemand für dieses Problem eine Lösung?
Rückfragen gerne.
Gruß Tom

Zuerst einmal solltest Du probieren, oder der automatische Kontrollfokus nicht ausreciht. Wenn das nicht klappt:

oController = oFormularNew.getCurrentController()
oView = oController.getControl(oMainForm.getByname("MeinTextfeld"))
oView.setFocus

Hi Robert,
vielen Dank. Es passt mal wieder optimal. Danke.
Gruß Tom

Hallo Tom,

Du magst auch diesen Feil mit dieser anderen Makro pruefen…

Uebung 1 - Knopf druecken.odb (22.9 KB)

Hi Nicholas,
Dein Makro öffnet ein neues Formular und schliesst das vorgehende Formular.
Die Vorgehensweise ist bekannt.
Mir ging es darum, bei einem neu geöffneten Formular den Focus auf ein bestimmtes Eingabefeld zu setzen. Dafür passt die Lösung von Robert sehr gut, die mir bisher nicht bekannt war.
Danke.
Gruß Tom

Ok. Ich verstehe jetzt.
:slightly_smiling_face: