🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
[Gelöst:] Säulendiagramm im Baseformular dem Datenumfang anpassen
[Gelöst:] Säulendiagramm im Baseformular dem Datenumfang anpassen
Hallo *,
ein xy-Diagramm bekomme ich ja jetzt mit Base und einem Formular hin. Beim Säulendiagramm habe ich dann einfach auch im Writer das Prinzip erstellt und möchte das per Makro auf neue Datenbestände anpassen. Was mir bisher gelungen ist: Datenbestände für die bestehenden Säulen anzuzeigen, Legende und Beschriftung an zu passen. Nur bekomme ich es bisher nicht hin, die Anzahl der Säulen zu vergrößern, wenn eben mehr Daten vorhanden sind.
Ich hänge einmal so ein Beispiel an. Dort müssten in dem Formular "Kategorien" in dem Diagramm nach dem Betätigen des Buttons Je 4 Säulen angezeigt werden, ebenso in der Legende eben 4 verschiedene Monate angezeigt werden. Die Daten dazu werden durch das Makro weitergegeben, aber die Säulen erscheinen so leider nicht.
-----
Nachtrag: Ich habe den xray-Eintrag raus genommen - jetzt also ohne Fehlermeldung ...
-----
Gruß
Robert
ein xy-Diagramm bekomme ich ja jetzt mit Base und einem Formular hin. Beim Säulendiagramm habe ich dann einfach auch im Writer das Prinzip erstellt und möchte das per Makro auf neue Datenbestände anpassen. Was mir bisher gelungen ist: Datenbestände für die bestehenden Säulen anzuzeigen, Legende und Beschriftung an zu passen. Nur bekomme ich es bisher nicht hin, die Anzahl der Säulen zu vergrößern, wenn eben mehr Daten vorhanden sind.
Ich hänge einmal so ein Beispiel an. Dort müssten in dem Formular "Kategorien" in dem Diagramm nach dem Betätigen des Buttons Je 4 Säulen angezeigt werden, ebenso in der Legende eben 4 verschiedene Monate angezeigt werden. Die Daten dazu werden durch das Makro weitergegeben, aber die Säulen erscheinen so leider nicht.
-----
Nachtrag: Ich habe den xray-Eintrag raus genommen - jetzt also ohne Fehlermeldung ...
-----
Gruß
Robert
- Dateianhänge
-
- Baseformular_mit_Diagramm.odb.zip
- (33.07 KiB) 169-mal heruntergeladen
Zuletzt geändert von RobertG am So 17. Jan 2016, 16:37, insgesamt 2-mal geändert.
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
-
- * LO-Experte *
- Beiträge: 834
- Registriert: Fr 28. Mär 2014, 10:41
Re: Säulendiagramm im Baseformular dem Datenumfang anpassen
Hallo Robert,
ich wollte nur mal ausprobieren... das X-Y-Diagramm geht gut, aber beim anderen bekomme ich eine Fehlermeldung:
Muß ich da vorher noch was installieren in Base?
Gruß
Freischreiber
ich wollte nur mal ausprobieren... das X-Y-Diagramm geht gut, aber beim anderen bekomme ich eine Fehlermeldung:
Muß ich da vorher noch was installieren in Base?
Gruß
Freischreiber
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de
Re: Säulendiagramm im Baseformular dem Datenumfang anpassen
xray ist ein Diagnose-Tool für Star-Office-Basic - Ähnlich wie MRI. xray gibt's beim Entwickler (Bernard Marcelly) MRI über die Extensions-Page von OO oder LO (LO-Extensions)
für das Makro ist es aber unbedeutend - kommentier' die Zeile einfach aus
für das Makro ist es aber unbedeutend - kommentier' die Zeile einfach aus
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: Säulendiagramm im Baseformular dem Datenumfang anpassen

Füge einfach die markierte Zeile ein:
Code: Alles auswählen
...
oDiag = thisComponent.EmbeddedObjects.getByIndex(0)
oDiag.model.Data.setData(NewData) ' <<< EINFUEGEN!!!
oDiag.model.DataProvider.setData(NewData)
oDiag.model.DataProvider.setRowDescriptions(NewRowDescription)
oDiag.model.DataProvider.setColumnDescriptions(NewColumnDescription)
oDiag.Component.setmodified(true)
...
Zum Testen eignet sich dieses Makro "besser":
Code: Alles auswählen
sub DatenAendern
oDiag = thisComponent.EmbeddedObjects.getByIndex(0)
StartNeueDaten:
' - - - - - - - - - - - - - -
' Aussuchen der Kategorien und Saeulenanzahl ...
iKats = cint(inputbox ("Kategorien:",,"3"))-1
iSaeulen = cint(inputbox ("Saeulen:",,"4"))-1
' - - - - - - - - - - - - - -
' setzt die Daten ...
'redim NewACD(iSaeulen), NewARD(iKats)
redim NewCD(iSaeulen), NewRD(iKats)
redim NewD(iKats)
redim aRndData(iSaeulen)
for i = 0 to iSaeulen
' NewACD(i) = Array(chr(i+97))
NewCD(i) = chr(i+97)
next i
for i = 0 to iKats
for ii = 0 to iSaeulen
aRndData(ii)=cdbl(rnd) ' Saeulenhoehe wird ein Zufallswert
next ii
' NewARD(i) = Array(chr(i+65))
NewRD(i) = chr(i+65)
NewD(i) = aRndData()
redim aRndData(iSaeulen)
next i
' - - - - - - - - - - - - - -
'Veraendert das Diagramm ...
'oDiag.model.DataProvider.setAnyColumnDescriptions(NewACD)
'oDiag.model.DataProvider.setAnyRowDescriptions(NewARD)
oDiag.model.DataProvider.setColumnDescriptions(NewCD)
oDiag.model.DataProvider.setRowDescriptions(NewRD)
oDiag.model.Data.setData(NewD)
oDiag.model.DataProvider.setData(NewD)
oDiag.Component.setmodified(true)
if msgbox(iKats + 1 & " Kategorien mit jeweils " & iSaeulen + 1 & " Saeulen!" & chr(10) & "nochmal?",4) = 6 then goto StartNeueDaten
end sub
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: [Gelöst:] Säulendiagramm im Baseformular dem Datenumfang anpassen
Hallo gogo,
scheint, dass wir da vieles mit trial-and-error machen. Auf jeden Fall hier die Erfolgsmeldung: Tut's!
Gruß
Robert
scheint, dass wir da vieles mit trial-and-error machen. Auf jeden Fall hier die Erfolgsmeldung: Tut's!
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
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.