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
Habe es übernommen und angepasst - funktioniert wunschgemäß! :D 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]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[/code]
Als Kopf der Routine.
[code]adrForm = oEvent.Source.Model.Parent
adrID = adrForm.getInt(1)[/code]
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]newForms = thisDatabaseDocument.FormDocuments.getByName("fibu.Orders_Objects").open[/code]
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]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)[/code]
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