Für die Auswertung von Daten unter Access reichen die Datenblattansichten von Abfragen oft nicht aus. Statistische Erhebungen lassen sich mit Diagrammen wesentlich anschaulicher auswerten. Werfen wir einen Blick auf die Möglichkeiten, die uns Access hier von Haus aus anbietet, ohne Umwege über Excel gehen zu müssen.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 1412_Pivotdiagramme.mdb.
Es ist bei vielen Entwicklern gang und gäbe für die grafische Auswertung von Daten Excel-Diagramme heranzuziehen. Das ist indessen ein umständliches Unterfangen, denn Excel benötigt für Diagramme als Datenquelle ein Excel-Tabellenblatt.
Deshalb müssen Ergebnisse von Access-Abfragen erst nach Excel exportiert und dort weiterverarbeitet werden. Zwar lässt sich unter Excel auch eine direkte Verknüpfung zu einer Access-Datenbank anlegen, die Anwender Ihrer Datenbank werden jedoch froh darüber sein, wenn Sie Ihnen das Umschalten zwischen den beiden Office-Applikationen ersparen und Diagramme direkt in die Oberfläche von Access einbinden.
Microsoft Graph
Grundsätzlich besteht in allen Access-Versionen die Möglichkeit, ein Formular mit einem Diagramm zu bestücken. Bis Office XP kam hierfür ausschließlich Microsoft Graph zur Anwendung, das bei der Office-Installation ausdrücklich mitinstalliert werden musste. Es handelt sich dabei um eine ActiveX-Komponente, die sogar im Standalone-Modus ausgeführt werden kann, unter Access aber in Formulare oder Berichte eingebettet wird. Graph ist imgrunde ein Abkömmling des Excel-Diagramms und wird auf ähnliche Weise gehandhabt.
Damit Graph nicht über mehrere Schritte als ActiveX-Objekt einfügt werden muss, stellt Microsoft direkt über das Menü oder die Symbolleiste des Formularentwurfs das Diagramm-Objekt bereit. Beim Einfügen desselben startet ein Assistent, der Sie die Datenquelle auswählen und filtern lässt, sowie den gewünschten Typ des Diagramms festlegt. Die eigentliche Formatierung des Diagramms erfolgt erst nach dem Einfügen per Rechtsklick und Bearbeiten.
Die Anbindung von Graph an Access war jedoch stets undurchsichtig und leidet bis heute an OLE-Einbettungsproblemen. So lassen sich die Schriftgrößen der Diagrammbeschriftungen nicht sauber einstellen. Auch dann, wenn Sie in den Optionen eines Beschriftungselements die Automatische Skalierung deaktivieren, werden die Schriften nicht in der eingestellten Größe formatiert.
Bei 8-Punkt erscheint etwa eine Schrift, die eher nach 14-Punkt Fett aussieht. Diesem Verhalten ist nicht wirklich beizukommen – wahrscheinlich mit ein Grund, weshalb das Diagramm unter Access ein Nischendasein fristet.
Die grafische Qualität des Diagramms lässt darüber hinaus auch sonst zu wünschen übrig, wie etwa Bild 1 dokumentiert. Es zeigt das Formular frmBestellungenDiagramm der von Nordwind abgeleiteten Beispieldatenbank und wertet die monatliche Anzahl der Bestellungen über einer Zeitachse aus.
Bild 1: MS Graph-Diagramm der Beispieldatenbank
Pivot-Charts
Ab Access XP hat sich Microsoft einsichtig gezeigt und das Objektmodell von Formularen überarbeitet. Nun besteht die Möglichkeit das ganze Formular in den Modus PivotChart zu versetzen. Neben Formular-, Entwurfs- und Datenblattansicht ist das also ein ganz neuer Ansichtsmodus. Dabei wird das Formular scheinbar selbst zu einen Diagramm, was bedeutet, dass weder Kopf- und Fußbereich, noch Navigationssteuerelemente angezeigt werden können. Wenn Sie diese brauchen, dann verwenden Sie das Pivot-Chart-Formular als eingebettetes Unterformular in einem entsprechend gestalteten Hauptformular.
Scheinbar deshalb, weil es sich abermals um einen Trick handelt: Das Pivot-Chart ist nämlich mitnichten ein Access-Original, sondern lediglich ein weiteres ActiveX-Steuerelement, das die ganze Fläche des Formulars einnimmt. Microsoft griff diesmal zu den Office Web Components die eigentlich für die Darstellung von Diagrammen im Internet Explorer entwickelt wurden.
Die Datenanbindung fällt nun allerdings erheblich komfortabler aus und die Qualität der Diagramme liegt deutlich über der von Microsoft Graph. Ein Minuspunkt ist die mäßige Performance der Web Components, denn diese verwenden intern nicht das DAO-Datenmodell, sondern ADODB. Unter Access geht deshalb im Hintergrund eine Konvertierung der Daten vonstatten, die bei größerem Datenumfang zu spürbaren Denkpausen bei der Berechnung des Diagramms führt.
Auch wenn Microsoft versucht hat, die Chart-Komponente in den Formularentwurf zu integrieren, ist die Handhabung nicht selbsterklärend, weshalb wir die grundlegenden Verfahrensweisen im Folgenden Schritt für Schritt aufzeigen.
Bestellungen auswerten
Die Beispieldatenbank zum Beitrag wurde aus der Nordwind-Datenbank abgeleitet, die Kunden, Artikel und Bestellungen verwaltet. Ziel ist es, die Anzahl von Bestellungen und den Umsatz über einen Zeitraum in einem Diagramm auszuwerten.
Für diese Auswertung wird die Tabelle Kunden selbst nicht benötigt, so dass im Datenmodell nur drei Tabellen vorkommen (siehe Bild 2). Als Datenherkunft für das Pivot-Formular frmBestellungenChart wird die Abfrage qry_Bestellungen herangezogen (Bild 3), welche die Tabellen in ähnlicher Weise verknüpft. Eine Gruppierung der Daten wird in der Abfrage nicht benötigt, denn die nimmt das Pivot-Chart später selbst vor.
Bild 2: Entwurf der Abfrage qry_Bestellungen zur Auswertung der Bestellungen
Bild 3: Tabellenbeziehungen der Beispieldatenbank
Fehlanzeige unter Access 2013
Sollten Sie Access 2013 verwenden, so müssen wir Sie enttäuschen. Denn in dieser Version sind Pivot-Charts dem Rotstift zum Opfer gefallen. über die Gründe kann nur spekuliert werden. Wahrscheinlich möchte sich Microsoft prinzipiell von ActiveX-Komponenten verabschieden. Unter Access 2013 kann nur das unzureichende Graph-Diagramm benutzt werden, es sein denn, Sie installierten auf Umwegen die Office Web Components separat und fügten das Chart-Diagramm als ActiveX-Objekt in ein Formular ein.
Wie das geht, beschreiben wir später. Ist Ihnen die Installation der Web Components jedoch verbaut, so sollten Sie auf Diagramme unter Access eher verzichten und auf Excel ausweichen. Genau das empfiehlt Microsoft leider auch in der Beschreibung der Unterschiede zwischen Access 2013 und den Vorversionen…
Pivot-Chart-Entwurf
Der Entwurf des Formulars ist zunächst sehr einfach. Wie für ein Datenblatt geben Sie einfach die Datenherkunft an und füllen den Detailbereich mit allen für das Diagramm benötigten Datensteuerelementen (Textfelder). Tatsächlich ist es der kürzeste Weg, erst ein Autoformular Datenblatt auf Grundlage der Abfrage vom Access-Formularassistenten erstellen zu lassen (Bild 4) und dann im Formularentwurf schlicht die Eigenschaft Standardansicht auf PivotChart zu stellen. über das Diagramm können Sie zu diesem Zeitpunkt noch keinerlei Angaben machen.
Bild 4: Das Pivot-Chart-Formular in der Entwurfsansicht
Der eigentliche Entwurf des Charts erfolgt erst in der Formularansicht, die sich nun aber in Menü, Symbolleisten oder Ribbon PivotChart-Ansicht nennt.
Schalten Sie sie ein, so ändert sich das Layout wie in Bild 5. Von den zugrundeliegenden Daten ist noch nichts zu sehen. Diese blenden Sie ein, indem Sie den Dialog der sogenannten Feldliste aufrufen.
Bild 5: …und hier in der PivotChart-Ansicht
Das können Sie über das Kontextmenü des Diagramms oder über die in dieser Ansicht neu erschienene Menüleiste (Access 2003), beziehungsweise das Ribbon (Access 2007 ff.), bewerkstelligen – beide in Bild 6 dargestellt. Aus der Feldliste können Sie dann einfach per Drag And Drop die gewünschten Abfragedaten in eine der vier Drop-Zones ziehen, von denen im Entwurf erst nur die Bereiche Rubrikenfelder und Datenfelder interessieren. Sollten die Dropbereiche nicht sichtbar sein, so blenden Sie sie ebenfalls über Ribbon oder Menüleiste ein.
Bild 6: Ribbon und Menüleiste zur Steuerung der PivotChart-Ansicht
Das Ribbon zum PivotChart ist dabei deutlich übersichtlicher, als das Menü von Access 2003. Dort wurden nämlich die Einträge auf verschiedene Stellen verteilt, so dass etwa das Item Dropbereiche im Menü Ansicht zu finden ist, die Formatierungen des Diagramms im Menü PivotChart, oder alle vereint in der neuen Symbolleiste.
Die Feldliste (Bild 7) zeigt also alle Datenfelder der im Formularentwurf zuvor eingestellten Datenherkunft an, hat jedoch bereits selbständig über die Intentionen des Entwicklers nachgedacht und schlägt deshalb zum Bestelldatum zusätzlich die Gruppierung auf Wochen- oder Monatsebene vor.
Bild 7: Dialog Feldliste mit den verfügbaren Datenfeldern der Datenquelle
Damit wird deutlich, dass das Chart die Daten selbst verwaltet und Gruppierungen oder Filterungen eigenständig vornehmen kann, was die Definition der Formulardatenquelle erleichtert. Leider arbeitet es dabei nicht sonderlich performant, was sich bei zahlreichen Datensätzen deutlich niederschlägt. Sie sollten deshalb, soweit möglich, die Datenherkunft in einer Abfrage vorfiltern und die Zahl der Datensätze minimieren.
Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins Access [basics]:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 400 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein: