Seite 1 von 1
Objekteigenschaften von Formularen
Verfasst: Fr 24. Nov 2017, 12:42
von avus
Hallo,
wie kann die Formular-Eigenschaft "Daten" > "Inhalt" eines Unterformulars per Makro angesprochen u. verändert werden?
Folgender Hintergrund:
In einem Hautformular ist eine Lisbox.
Abhängig von dem ausgewählten Eintrag soll die Tabellenzugehörigkeit zu dem Unterformular verändert werden:
Auswahl "A" > Das Unterformular erhält als Quelle Tabelle "tbl_1".
Auswahl "B" > Das Unterformular erhält Tabelle "tbl_2" als Quelle.
Ist das möglich? Vielen Dank im Voraus für entsprechenden Beispiel-Code ...
Gruß
Rainer
Re: Objekteigenschaften von Formularen
Verfasst: Fr 24. Nov 2017, 17:45
von gogo
Das ist vermutlich möglich, aber sicher nicht mit jeder Backend-Datenbank gleich, und vermutlich auch nicht mit jedem Datenbank-Treiber gleich.
Am stabilsten bekommst Du das mit einem Dialog hin ... also ohne direkte "Bindung" an die Daten
Prinzipiell kannst Du in einem Formular "unbegrenzt" viele Formularobjekte haben, von denen dann jedes wieder "unbegrenzt" viele Unterformulare haben kann etc. etc.
Am übersichtlichsten stelle ich mir das so vor, dass man jeweils die Steuerelemente des Unterformulars komplett aus- oder einblendet. Indexreiter wie z.B. in einer QT-Toolbox oder einem Tab-Widget gibt's so weit ich weiß in LO leider nicht - wäre aber dringend notwendig - schon wegen der Übersichtlichkeit. Außerdem könnte man so das Formular-Objekt-System wirklich optimal einsetzen.
Wenn Du ein konkreteres Beispiel bringst, gibt's vermutlich kreativere Lösungen.
Re: Objekteigenschaften von Formularen
Verfasst: Fr 24. Nov 2017, 19:44
von avus
Danke für die Info.
Es handelt sich um die interne HSQLDB.
Auf die Möglichkeit des Ein-/Ausblendens der Kontrollelemente i. d. Sub-Forms bin ich bei meiner weiteren Recherche auch gestoßen - werde das mal ausprobieren ...
Gruß
Rainer
Re: Objekteigenschaften von Formularen
Verfasst: Sa 25. Nov 2017, 17:05
von RobertG
Hallo Rainer,
vielleicht suchst Du ja noch:
speichert in einem String den Namen der Tabelle oder Abfrage oder auch einen kompletten SQL-Befehl.
speichert in einer Zahl (Long) die möglichen Typen:
0: Tabelle
1: Abfrage
2: SQL-Code
Gruß
Robert
Re: Objekteigenschaften von Formularen
Verfasst: So 26. Nov 2017, 21:14
von avus
Hallo Robert,
ja genau. Mit diesem Ansatz müsste sich die ganze Sache deutlich vereinfachen, da es sich um acht Sub-Forms handelt.
Mit folgendem Code wird die geänderte Quelle in das Sub-Form geschrieben:
Code: Alles auswählen
Code:
Sub Data_Source
frm_Main = thisComponent.drawpage.forms.getByName("frm_Main")
subfrm = thisComponent.drawpage.forms.getByName("frm_Main").getByName("Sub_frm_OfmMuster")
thisComponent.CurrentController.FormDesignMode = true
subfrm.CommandType = "0"
subfrm.Command = "tbl_OfmMuster"
thisComponent.CurrentController.setFormDesignMode(false)
subfrm.reload()
End Sub
Allerdings werden die Daten der entsprechenden Tabellen im Tabellenkontrollfeldes des Sub-Forms nach der Änderung noch nicht angezeigt ...
Besten Dank für den Tipp.
Gruß
Rainer
Re: Objekteigenschaften von Formularen
Verfasst: Mo 27. Nov 2017, 12:10
von avus
Hallo,
es funktioniert nun mit o. a. Code
(es gab noch eine falsche Feldzuordnung im Sub-Form).
Gruß
Rainer