Hallo Andreas,
>
> Das meine ich auch. Rein technisch gesehen gehören derartige Dinge in
> ein Datenbankprogramm (Pivot Query, Kreuztabellenabfrage), jedoch ist
> dies für die meisten Benutzer von OOo etwas, das sie von Excel her
> kennen, und es werden bestimmt sehr viel mehr "Datenbanken" in Calc
> erstellt als in Base.
Die Datenbank selbst liegt in MySQL vor. Die gesamte Bedienung läuft
eigentlich über PHP/Apache. Nur die Auswertung zu programmieren finde ich denn
doch zu umständlich.
>
> Dein Betreff "Daten zu Diagrammen" läßt erahnen, dass Du am Ende ein
> Diagramm aus einem Piloten erstellen willst (z.B. eine Linie pro Spalte).
> Excel kennt spezielle Diagramme, die sich automatisch an die wechselnde
> Größe und Layout der Kreuztabelle anpassen. Calc kann das nicht. Der
> Datenbereich des Diagramms muss daher für jeden Bericht neu angepasst
> werden.
Ich habe so etwas kürzlich anhand einer Vorlage aus dem Netz per Makro
erledigt:
Sub alle
dim document as object
dim dispatcher as object
dim args2(3) as new com.sun.star.beans.PropertyValue
oDoc=thisComponent
Sheet = oDoc.Sheets(0) '[erstes Arbeitsblatt]
Cell = Sheet.getCellByPosition(3,0) '[Zelle A1]
Wert = Cell.value
args2(0).Name = "Name"
args2(0).Value = "Object 1"
args2(1).Name = "Range"
args2(2).Name = "ColHeaders"
args2(2).Value = false
args2(3).Name = "RowHeaders"
args2(3).Value = false
args2(1).Value = "$Tabelle1.$A$2:$B$"+Wert+""
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:ChangeChartData", "", 0,
args2())
End Sub
Damit lässt sich der einlesbare Bereich (+Wert+) umsetzen in ein
entsprechendes Diagramm.
> Erfahrungsbericht:
> - Die wesentliche Einschränkung in Calc: Max. 8 Felder der Quelltabelle
> passen in einen Piloten.
> - Pilot mit Datenbanken: Kein Zugriff per Makro. Der sichtbare und
> funktionierende Pilot existiert einfach nicht aus API-Sicht.
> - Zeitfelder aus Datenbanken funktionieren nicht (Bug 53244). Du
> könntest Zeiten per SQL in Text umwandeln um sie in gruppierten
> Spalten/Zeilen/Seitenfeldern zu verwenden. Datenfelder müssen meistens
> numerisch sein (wg. Summe, Min, Max,...), außer Du verwendest die
> Count-Funktion, um das Vorkommen von Text auszuzählen.
Na ja, es war eigentlich nur das Problem eine fertige Abfrage, die schon alles
sauber auf die Reihe kriegte, graphisch darzustellen. Da fallen mir solche
Sachen natürlich nicht sofort auf. Aber ich sehe schon, dass ich da noch viel
Neues erfahren kann.
Gruß
Robert
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]