Seite 1 von 1

[gelöst] Diagramm in Base

Verfasst: Do 7. Jan 2016, 16:13
von hwoehrle
Gibt es irgend eine Möglichkeit Daten als Diagramm direkt in Base zu visualisieren?
Der Umweg über Calc zur Datenanalyse ist auf Dauer etwas umständlich...

Re: Diagramm in Base

Verfasst: Do 7. Jan 2016, 19:02
von RobertG
Hallo hwoerhrle,

das kommt darauf an, welche LO-Version Du nutzt. Das eigentliche Verfahren ist, Diagramme innerhalb eines Berichtes ein zu binden. In den Grundzügen klappt so etwas - bei Datumsachsen gibt es aber Probleme.

Die aktuelle 5er-Reihe kann allerdings keine Berichte mit Diagrammen mehr ausführen. Da kommt dann nur eine ellenlange Fehlermeldung. Ein Grund mit, weshalb ich weiterhin mit der 4.4.7.2 arbeite. Da gehen die Berichte auch mit Diagrammen auf.

Wie Diagramme in einem Bericht erstellt werden können ist auch im Handbuch Base in dem Kapitel "Berichte" beschrieben.

Gruß

Robert

Re: Diagramm in Base

Verfasst: Fr 8. Jan 2016, 00:07
von gogo
Ein direkter Zugriff mittels Kontrollelement in einem Formular ist mir nicht bekannt, aber folgender Weg funktioniert:

1. In ein Writer Dokument mit "Einfügen/Objekt/Diagramm" ein Dagramm einfügen.
Die Datenquelle dieses Diagramms ist nun NICHT in der Datenbank, sondern eine "intern im Diargamm gespeichterte Tabelle" (als Array).

2. Das Diagramm einfach so formatieren wie man's braucht, und dann das ganze Objekt mit Copy/Paste in das gewünschte Base-Formular kopieren.

3. einen Button im Diagramm anlegen - Bezeichnung z.B. "Diagramm aktualisieren"

Das Verändern der Daten kann man dann mit folgendem Makro realisieren:

Code: Alles auswählen

sub ChangeData(oEvent)
NewData=Array(array(1,2,3,4),array(1,2,3,4),array(1,2,3.5,4),array(1,2,3,4),array(1,2,3,4),array(1,2,5,4))
oEvent.Source.Model.Parent.Parent.Parent.EmbeddedObjects.getByIndex(0).Component.Data.Data = NewData()
oEvent.Source.Model.Parent.Parent.Parent.refresh
end sub
Das Array "NewData" hat dann PRO ZEILE ein Unter-Array und die Elemente dieser Unterarrays ... etc da gibt's so viele Erklärungen wie's Diagrammtypen gibt...

Du musst also ein bisschen rumprobieren, aber dieses Vorgehen läuft sehr stabil!
Das Aktualisieren des Diagramms muss ja nicht an den Button gebunden werden, es kann auch an irgendein anderes Event gekoppelt werden, z.B. einen Datensatzwechsel, dann könnte z.B. in einem Formular für Aktien immer der Kursverlauf der aktuell angezeigten Aktie dargestellt werden etc. etc.

Beispieldatei im Anhang

Re: Diagramm in Base

Verfasst: Fr 8. Jan 2016, 09:15
von hwoehrle
Hallo Robert,
hallo gogo,
vielen Dank für die prima Tipps :!:
Wird gleich ausprobiert :-)

Re: [gelöst] Diagramm in Base

Verfasst: Mi 13. Jan 2016, 12:10
von RobertG
Hallo *,

einige Nachfragen und gemeinsames Suchen im Unterforum zu Basic/Makroprogrammierung waren nötig. In der angehängten Datenbank ist es mit Hilfe von gogo und F3KTotal gelungen, innerhalb eines Formulars ein Diagramm kontinuierlich den Werten anzupassen, die in der dem Formular zugrundeliegenden Tabelle geändert werden.

Das kommt natürlich dann auch mit entsprechender ausführlicher Anleitung ins nächste Handbuch ...

Gruß

Robert