Charts mit Access und Google

Das Internet bietet immer mehr interessante Möglichkeiten. Interessant ist beispielsweise eine der vielen APIs von Google, diesmal zum Erstellen von Charts mit einfachen HTML-Anweisungen. Wir zeigen, wie Sie solche Charts in eigene Anwendungen einbaucn. Einzige Voraussetzung: eine Internetverbindung und Vertrauen in Google.

Wollen Sie ganz ohne irgendwelche Zusatzkomponenten Charts in verschiedenen Geschmacksnoten in Ihren Anwendungen unterbringen Wer eine Internetverbindung hat und sich nicht scheut, die anzuzeigenden Daten zum Erstellen des Charts zu einem Google-Server zu schicken, erhält als Antwort auf eine einfache Anfrage eine PNG-Datei mit dem Chart als Inhalt.

Dieser Service ist normalerweise zum Einbau in Internetangebote gedacht, aber Access im Unternehmen greift sich wie üblich alles, was sich irgendwie gewinnbringend in eine Datenbank einbauen lässt, heraus. Und da die vorhandenen Komponenten zum Erstellen von Charts – Microsoft Graph etwa – nicht gerade einfach zu handhaben sind, werfen wir einen genaueren Blick auf diesen Google-Dienst, der im Dezember 2007 gestartet wurde.

Das Mittel der Wahl zum Anzeigen eines Charts wie in Bild 1 ist ein Webbrowser wie der Internet Explorer oder Firefox. Für diesen Chart haben wir folgende URL zusammengesetzt:

pic001.tif

Bild 1: Ein einfaches Tortendiagramm mit Google Charts

http://chart.apis.google.com/chart
cht=p3
&chd=t:13,21,7,8,10,18,7,13
&chs=400x100
&chl=Fleischprodukte|Getr%c3%a4nke|
Getreideprodukte|Gew%c3%bcrze|
Meeresfr%c3%bcchte|Milchprodukte|
Naturprodukte|S%c3%bc%c3%9fwaren

Der Aufbau ist kinderleicht. An die eigentliche URL hängt man lediglich einige Parameter an. Der erste namens cht gibt an, welche Chart-Variante man anzeigen möchte, in diesem Fall ein Tortendiagramm (p steht für pie).

chd liefert die eigentlichen, durch Kommata getrennten Daten, die beim Tortendiagramm zu den Beschriftungen passen sollten, die Sie mit dem Parameter chl übergeben. chs schließlich gibt die Größe des Diagramms in Pixeln an.

Den kompletten Satz von Informationen zu den Parametern und den verschiedenen Charttypen finden Sie hier:

http://code.google.com/apis/chart/

Charts in Access

Wie aber soll man ein solches Chart nun in Access unterbringen Klar, im ersten Ansatz würde man es mit dem Webbrowser-Steuerelement versuchen, was natürlich auch funktioniert. Aber direkt einen kompletten Browser in ein Formular einbauen, nur um eine PNG-Datei anzuzeigen Nein, das muss nicht sein. Mit einer modifizierten Version der GDI+-Funktionssammlung von Sascha Trowitzsch und einer kleinen Routine vom gleichen Autor holen Sie sich die PNG-Datei direkt in den Speicher, um diese im gleichen Zuge in einem MSFormsImage-Steuerelement anzuzeigen.

Neben dem Standardmodul mdlGDIPlus aus der Beispieldatenbank brauchen Sie eigentlich nur noch die kleine Routine aus Listing 1, die eine URL mit dem Aufruf von Google Charts erwartet und ein StdPicture-Objekt zurückliefert. Dieses kann man direkt dem Image-Steuerelement zuweisen, sodass der Aufruf eines Formulars mit einem solchen Steuerelement relativ knapp ausfällt:

Listing 1: Diese Funktion liefert ein StdPicture-Objekt als Ergebnis der übergebenen URL.

Function GetChart(strURLParams As String) As StdPicture
    Dim oHTTP As Object
    On Error GoTo Fehler
    Set oHTTP = CreateObject("MSXML2.XMLHTTP")
    With oHTTP
    .Open "Get", strURLParams, False
    .send
    If .Status = 200 Then
        Set GetChart = LoadPicturePlusStream(.responseStream)
        .Abort
    Else
        MsgBox "Problem bei Internetverbindung zu " & strURLParams & " : " & _
        vbCrLf & vbCrLf & .Status & " - " & .statusText, vbExclamation, "Info:"
    End If
    End With
    Ende:
    Set oHTTP = Nothing
    Exit Function
    Fehler:
    MsgBox Err.Description
    Resume Ende
End Function
Set ctlImage.Object.Picture = _
GetChart("http://chart.apis.google.com/...")

Von der Tabelle ins Chart-Diagramm

Eine Frage ist noch offen: Wie erhalte ich aus den Daten meiner Datenbank die URL für das gewünschte Diagramm

Hier ist Handarbeit angesagt, und zwar in zwei Schritten: Erstens müssen Sie die Daten möglichst in Form einer Abfrage aufbereiten und zweitens aus den Datensätzen dieser Abfrage eine entsprechende URL formen.

Wir veranschaulichen Ihnen dies am Beispiel des obigen Tortendiagramms. Es zeigt, welchen Anteil jede der Artikelkategorien der Südsturm-Datenbank (das ist die für Access im Unternehmen abgewandelte Version der Nordwind-Datenbank) am Gesamtumsatz hat. Die Datenherkunft für den Chart sieht beispielsweise wie in Bild 2 aus, das Ergebnis dieser Abfrage wie in Bild 3.

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

den kompletten Artikel im PDF-Format mit Beispieldatenbank

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar