BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!
> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Objekteigenschaften von Formularen
Objekteigenschaften von Formularen
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
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
LibreOffice 6.3, Ubuntu 18.04, Win7 64 bit, Win10
Re: Objekteigenschaften von Formularen
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.
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.
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
Re: Objekteigenschaften von Formularen
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
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
LibreOffice 6.3, Ubuntu 18.04, Win7 64 bit, Win10
Re: Objekteigenschaften von Formularen
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
vielleicht suchst Du ja noch:
Code: Alles auswählen
oForm.Command
Code: Alles auswählen
oForm.CommandType
0: Tabelle
1: Abfrage
2: SQL-Code
Gruß
Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Objekteigenschaften von Formularen
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:
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
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
Besten Dank für den Tipp.
Gruß
Rainer
LibreOffice 6.3, Ubuntu 18.04, Win7 64 bit, Win10
Re: Objekteigenschaften von Formularen
Hallo,
es funktioniert nun mit o. a. Code
(es gab noch eine falsche Feldzuordnung im Sub-Form).
Gruß
Rainer
es funktioniert nun mit o. a. Code
(es gab noch eine falsche Feldzuordnung im Sub-Form).
Gruß
Rainer
LibreOffice 6.3, Ubuntu 18.04, Win7 64 bit, Win10
An alle, die das LibreOffice-Forum nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️