Habe es übernommen und angepasst - funktioniert wunschgemäß!

Danke vielmals für die Hilfe (und indirekt auch DPunch)! Damit spätere Leser nicht so viel blättern müssen, fasse ich hier nochmals zusammen (mit einigen Erläuterungen):
Code: Alles auswählen
Sub CallOrderForm( oEvent as Object )
rem **************************************
rem Formular: fibu.MainForm
rem Kontrollfeld: btnOrder
rem Aufruf durch: Ereignis "Aktion ausführen"
rem --------------------------------------
rem Das Formular Order/Objects wird gestartet.
rem Dabei wird die aktuelle Adr-Nr. übergeben und angezeigt.
rem *****************************************
Dim adrForm as Object
Dim newForm as Object
Dim adrID as Integer
Als Kopf der Routine.
Code: Alles auswählen
adrForm = oEvent.Source.Model.Parent
adrID = adrForm.getInt(1)
Zugriff auf das ursprüngliche Formular: Auslöser (Source) des Ereignisses ist der Button; der liegt (Model) innerhalb (Parent) eines bestimmten Formulars. Hole die ID aus der ersten Spalte (grrrh, Nummerierung ab 1 und nicht ab 0 beachten).
Code: Alles auswählen
newForms = thisDatabaseDocument.FormDocuments.getByName("fibu.Orders_Objects").open
Erzeuge das neue Formular. Rückgabewert der Funktion open() ist das gesamte Writer-Dokument, dessen Elemente im folgenden Code angesprochen werden können (vorher existieren drawpage und alle eingebetteten Objekte noch nicht).
Code: Alles auswählen
newForm = newForms.drawpage.forms.MainForm
newForm.Filter = "fibu.bk_order.kd_id = " + adrID
newForm.reload()
newForm.txtKunde.Label = "Kd.-Nr. " + CStr(adrForm.getInt(2)) + " " + adrForm.getString(4)
Setze im neuen Formular den Filter, lade die Daten dazu und zeige zusätzlich Informationen zum Kunden an (Nummer, Name u.a.)
Und wieder ist ein Schritt erledigt. Jürgen
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC