|  | Unser Angebot für Sie! Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'! |
| |
Zusammenfassung
Erstellen Sie Charts durch einen einfachen Aufruf der Google Charts-API.
Techniken
VBA, Abfragen, Berichte, HTTP
Voraussetzungen
Access 2000 und höher
Beispieldateien
Charts.mdb
Shortlink
604
Charts mit Access und Google
André Minhorst, Duisburg
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 Abb. 1 ist ein Webbrowser wie der Internet Explorer oder Firefox. Für diesen Chart haben wir folgende URL zusammengesetzt:
Abb. 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 MSForms-Image-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:
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
|