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]

Antwort per Email an