Einer der hauptsächlichen Anreize für den Einsatz eines Windows-Desktop-Datenbankmanagers ist die Fähigkeit, Grafiken anzuzeigen, die in Datenbanktabellen enthalten (oder damit verknüpft) sind. Frühe Windows-RDBMSs konnten Bilder anzeigen, die in individuellen Bitmap-Grafikdateien mit gebräuchlichen Formaten wie .bmp, .pcx und .tif vorlagen. Es war aber nicht möglich, die Bitmap-Daten in der Datenbankdatei selbst zu speichern.
Zum Teil wurden diese frühen Desktop-Datenbankprodukte um die BLOB-Felddatentypen erweitert (BLOB Binary Large OBject). Ein BLOB-Feld weist variable Länge auf und kann einen beliebigen Datentyp aufnehmen, unabhängig vom Format. Andere Windows-Desktop-RDBMSs verwenden Hilfsdateien (ähnlich den .dbt-Memofeldern in dBASE), um Grafiken und andere Nichttext-Daten zu speichern. Beim Einsatz einer Hilfsdatei liefert ein Feld in einer Datenbanktabelle einen Verweis (einen sogenannten Zeiger) auf den Standort der Daten in der Hilfsdatei.
Viele Windows-Grafiken sind nicht einfach als Kopien des auf dem Bildschirm sichtbaren Pixelmusters, sondern als Kombination von Linien, Formen und Mustern gespeichert als sogenannte Vektorgrafiken. Derartige Vektorgrafiken werden zum Beispiel von Windows-Grafikanwendungen (wie CorelDRAW! von Corel Systems und Visio von Visio Corporation) erzeugt. Microsoft Graph 97 (MSGraph8) stellt Diagramme aus den Daten von Access-Tabellen ebenfalls als Vektorgrafik dar. Die genannten Programme verwenden zwar proprietäre Dateiformate, können aber mit anderen Anwendungen über die Zwischenablage im Standard-Windows Metafile Format (.WMF) kommunizieren.
Dieses Kapitel beschreibt, wie man sowohl Bitmap- als auch Vektorgrafiken in Formularen und Berichten von Access verwendet. Außerdem erfahren Sie, wie sich Grafiken und Diagramme mit MSGraph8 aus Daten von Access 97 erzeugen lassen.
Grafiken und andere OLE-Objekte, die in OLE-Objektfeldern von Access-Tabellen gespeichert sind, verwenden zur Anzeige ihrer Präsentation ein gebundenes Objektfeld-Steuerelement. Das gebundene Objektfeld-Steuerelement ist ein OLE-Container, in dem ein Bitmap- oder Vektorbild angezeigt werden kann. Andere OLE-Objekte, die auf den in OLE-Objektfeldern gespeicherten Daten beruhen (wie etwa Objekte des Klangrecorders und der Medienwiedergabe), sowie datenabhängige OLE-Steuerelemente verwenden ebenfalls das gebundene Objektfeld.
Bei herkömmlichen Grafiken (keine Bewegtbilder) stellt die Präsentation im gebundenen Objektfeld eine Kopie der Dateneigenschaft des Objekts dar. Animierte Bilder und Videoobjekte zeigen normalerweise das erste Bild der Animationssequenz oder des Videoclips an. Soundobjekte substituieren das Symbol des OLE-Servers, mit dem ihr Dateityp in der Registrierung verbunden ist. Ein Doppelklick auf das gebundene Objektfeld startet den OLE-Server, der für das Einfügen des Objekts in die Datenzelle eines Objektfelds Ihrer Tabelle verwendet wurde.
Kapitel 13 hat erläutert, wie man ein gebundenes Objektfeld in ein Access-Formular aufnimmt. Im vorliegenden Kapitel beschäftigen Sie sich mit den Einzelheiten für die Anzeige und die Bearbeitung einer Fotografie im Formular Personal Akte Eingabe, das Sie in den vorhergehenden Kapiteln aufgebaut haben. Außerdem erfahren Sie, wie man Fotografien innerhalb des gebundenen Objektfeldes skaliert.
Die Mehrheit der Access-Anwendungen verwendet den Felddatentyp OLE-Objekt nur zum Speichern von Grafiken. Eine derartige Grafik finden Sie zum Beispiel in der Tabelle Personal der Nordwind GmbH, die ein Foto für jeden Angestellten enthält. Die Fotografie fügen Sie in Ihr Formular Personal Akte mit Hilfe des Felddatentyps OLE-Objekt ein. Das gebundene Objektfeld wird mit dem Feld Foto der Abfrage Personal Akte Abfrage verknüpft (Abbildung 20.1).
Abbildung 20.1: Das Feld Foto der Abfrage Personal Akte Abfrage in der Entwurfsansicht.
Um die Abfrage Personal Akte Abfrage zu starten, damit Sie eines der Fotos im Paint-Fenster von Windows 95 betrachten können, führen Sie die folgenden Schritte aus:
Abbildung 20.2: Bearbeiten des Feldes Foto der Abfrage Personal Akte Abfrage.
Windows Paint verhält sich wie andere lokale OLE 2+-Serveranwendungen, die für das Hinzufügen oder Bearbeiten der Werte (Inhalte) von Datenzellen in OLE-Objektfeldern verwendet werden.
OLE-Objekte in Tabellen und Abfragen von Access lassen sich nur über das Fenster des OLE-Servers, den Sie für das Hinzufügen des Objekts in die Tabelle verwendet haben (in diesem Beispiel Paint), bearbeiten. Die Präsentation von OLE-Objekten wird allerdings im OLE-Objektfeld gespeichert und automatisch in einem gebundenen oder ungebundenen Objektfeld angezeigt. Um das Objekt zu bearbeiten, doppelklicken Sie auf das Objektfeld.
In Kapitel 13 haben Sie dem Formular Personal Akte Eingabe ein gebundenes Objektfeld hinzugefügt. Für die nächste Übung erzeugen Sie ein temporäres Formular zum Experimentieren mit gebundenen Objektfeldern. Um ein gebundenes Objektfeld in Ihr Experimentierformular aufzunehmen, damit Sie das Feld Foto Ihrer Abfrage Personal Akte Abfrage anzeigen können, führen Sie die folgenden Schritte aus:
Abbildung 20.3: Hinzufügen eines gebundenen Objektfelds in ein Formular.
Abbildung 20.4: Anzeigen des Formulars mit dem gebundenen Objektfeld und dem eingefügten Foto.
Alternativ können Sie ein gebundenes Objektfeld folgendermaßen erzeugen: Klicken Sie auf das Werkzeug Gebundenes Objektfeld in der Toolbox, klicken Sie auf das Feld Foto, und ziehen Sie das Feld-Symbol auf das Formular. Der zusätzliche Schritt bei diesem Verfahren ist eigentlich überflüssig, da Access automatisch ein gebundenes Objektfeld für Sie auswählt, wenn Sie ein Feld vom Datentyp OLE-Objekt in der Feldliste markieren.
Wenn Sie entweder das Werkzeug Gebundenes Objektfeld oder die Toolbox verwenden, wird die Eigenschaft Aktiviert auf Ja und die Eigenschaft Gesperrt auf Nein gesetzt. (Access 2.0 setzt die Eigenschaft Aktiviert auf Nein und die Eigenschaft Gesperrt auf Ja, wenn Sie das gebundene Objektfeld mit der Toolbox erzeugen.) Diese beiden Eigenschaften haben folgende Wirkung:
Abbildung 20.5: Zur Bearbeitung eines Bitmap-Bildobjekts wurde Windows Paint direkt aktiviert.
Access stellt drei Methoden für das Skalieren von Grafikobjekten innerhalb der Grenzen eines gebundenen Objektfelds bereit. Sie können eine dieser Methoden über die Eigenschaft GrößenanpassungEigenschaft im Eigenschaftenfenster Gebundenes ObjektfeldGroessenanpassung auswählen (Abbildung 20.6).
Abbildung 20.6: Festlegen der Eigenschaft Größenanpassung eines Objektfelds.
Die drei Optionen für den Wert der Eigenschaft Größenanpassung zeigen das Bild auf die folgende Weise an:
Abbildung 20.7: Vergleich der Werte Abschneiden, Dehnen und Zoomen der Eigenschaft Größenanpassung.
Die gebundenen Objektfelder in Abbildung 20.7 wurden vertikal verkürzt und horizontal erweitert, um die Effekte der Eigenschaftswerte Dehnen und Zoomen hervorzuheben.
In Access läßt sich der abzuschneidende Bereich des Bildes nicht festlegen, so daß die Einstellung Zoomen für die Wahrung des originalen Höhen-/Seitenverhältnisses die beste Wahl darstellt. Wenn Sie ein Bitmap skalieren oder zoomen, erhöht sich der scheinbare Kontrast, wie es im mittleren und unteren Bild von Abbildung 20.7 zu sehen ist. Dieser Effekt hängt damit zusammen, daß bei der Anpassung des Bildes an das Feld eine gewisse Anzahl von Pixeln gelöscht wird, wodurch sich die Körnung erhöht. Bei Bitmaps mit 256 Farben (8 Bit pro Pixel) macht sich das Erhöhen der Körnung und des Kontrasts weniger bemerkbar. Die Fotos der Angestellten sind Bitmaps in 16 Farben (4 Bit pro Pixel).
Die Zoomen-Eigenschaft weisen Sie dem gebundenen Objektfeld in der Entwurfsansicht folgendermaßen zu:
Das Formular mit der geänderten Eigenschaft für das Foto zeigen Sie wie folgt an:
Abbildung 20.8: Das gebundene Objektfeld mit der zugewiesenen Größenanpassung-Eigenschaft Zoomen.
Mit den hier beschriebenen Verfahren können Sie ein gebundenes Objektfeld mit einem Vektorbild aus einer Zeichenanwendung, einen Sound-Clip aus einer .WAV- oder .MID-Datei oder irgendeinen anderen OLE-Objekttyp (den Sie aus dem Dialogfeld Objekt einfügen auswählen) hinzufügen.
Auf die gleiche Weise nehmen Sie ein gebundenes Objektfeld in den Detailbereich eines Berichts auf. Die Qualität des gedruckten Bildes hängt vom Typ des Bildes und vom verwendeten Laser- oder Tintenstrahldrucker ab. Vektorbilder (wie etwa mit CorelDRAW! 6.0 oder Visio 4.0 erstellte Zeichnungen) erlauben qualitativ ansprechendere Ausdrucke von Berichten als Bitmaps (vor allem bei skalierten Bitmaps). Das oben erwähnte Kontrast-Problem wirkt sich bei Ausgabe von Farbbildern in Schwarzweiß noch stärker aus.
Grafikdateien werden durch allgemein anerkannte Dateierweiterungen gekennzeichnet, die zur Definition der meisten (oder aller) grundlegenden Charakteristika des Formats dienen. Die folgenden Dateierweiterungen zur Kennzeichnung von Bitmaps haben den Status von »Industriestandards« für den PC erreicht. Die meisten kommerziellen Anwendungen zur Bearbeitung von Bitmaps unterstützen diese Formate, wenn auch bei einigen der Import von .GIF-Dateien nicht möglich ist. Die »Standarderweiterungen« lauten wie folgt:
Wenn Ihnen keine Anwendung mit OLE-Dateiserver-Fähigkeiten zur Bildverarbeitung unter Windows zur Verfügung steht, müssen Sie Bitmap-Dateien der Formate TIF, GIF, PCD oder TGA in das BMP- oder PCX-Format konvertieren. Sie können die Konvertierungsprogramme für Bitmap-Dateien aus Microsoft Word verwenden, um eine TIF-Datei in ein neues Dokument einzufügen und dann das Bild in die Zwischenablage als Bild zu kopieren. Sie können jedoch nicht das Word-Bild, das Sie in eine Access-Tabelle mit Inhalte einfügen eingefügt haben, bearbeiten, da das Bild kein OLE-Objekt ist. Es handelt sich um ein Bitmap aus einer DDE-Verknüpfung zu Word.
Bilder in ungebundenen Objektfeldern speichern ihre Eigenschaften als Daten im Bereich der .MDB-Datei, der für Formulare oder Berichte vorgesehen ist, statt in OLE-Objektfeldern. Analog zu den Methoden bei gebundenen Objektfeldern stellt der OLE-Server vorübergehend die Methoden bereit, um ungebundene Objekte zu erzeugen (oder zu bearbeiten). Nachdem Sie das ungebundene Objekt eingebettet oder verknüpft haben, liefert die Access-Anwendung die Methoden für die Anzeige der Bilder.
Der Einsatz ungebundener Objektfelder unterscheidet sich von gebundenen in folgender Hinsicht:
Die Beispiele in den folgenden Abschnitten zeigen die Nutzung der wichtigen zusätzlichen Eigenschaften, die bei Verwendung ungebundener Objektfelder verfügbar sind.
Zu den häufigsten Grafikobjekten auf Formularen und in Berichten gehören Logos und Symbole zur Identifizierung der Firma. Das Bitmap-Beispiel in diesem Abschnitt verwendet das Bild eines Leuchtturms aus der Nordwind-Datenbank. Sie können es aber auch durch das Logo Ihrer eigenen Firma ersetzen, wenn Sie über eine entsprechende Bitmap-Datei in den passenden Abmessungen verfügen oder mit einem Scanner erzeugen. Das Erstellen eines Logos aus einer Bitmap-Datei ist Thema des Abschnitts »Das Bild-Steuerelement« weiter hinten in diesem Kapitel.
Am einfachsten läßt sich ein Bild in ein neues Formular aufnehmen, wenn man ein vorhandenes ungebundenes Objektfeld eines Formulars oder Berichts, in dem das Bild enthalten ist, in die Zwischenablage kopiert und dann aus der Zwischenablage in das neue Formular einfügt. Dieses Verfahren ist dem Kopieren von OLE-Objekten ähnlich, die für den Einsatz in anderen Anwendungen vorgesehen sind. Man kann das Bild bei Bedarf mit Windows Paint oder einem anderen OLE-fähigen Bild-Editor bearbeiten.
Das Formular Hauptübersicht der Nordwind-Datenbank enthält ein Bild, das sich leicht an das Formular Personal Akte Eingabe anpassen läßt. Allerdings ist das Bitmap in einem Bild-Steuerelement enthalten, so daß das Verfahren ein wenig komplizierter ist, als das einfache Kopieren eines ungebundenen Objektfelds von einem Formular zu einem anderen. Bevor Sie die Grafik in das Formular Personal Akte Eingabe einfügen, sollten Sie sich eine Sicherungskopie des Formulars nach folgenden Schritten anlegen:
Führen Sie die nachstehenden Schritte aus, um das Logo der Nordwind GmbH von der Hauptübersicht in Ihr Formular Personal Akte Eingabe Logo zu kopieren:
Abbildung 20.9: Das Formular Personal Akte Eingabe Logo mit neu angeordneten Steuerelementen, um Platz für das neue Logo zu schaffen.
Abbildung 20.10: Die Einstellungen im Dialogfeld Objekt einfügen für das Öffnen einer Instanz von Paint.
Abbildung 20.11: Kopieren des Bitmaps vom Nordwind-Logo in die geöffnete Instanz von Paint.
Abbildung 20.12: Das Logo-Bitmap mit den entfernten weißen (leeren) Bereichen.
Abbildung 20.13: Das in den Detailbereich des Formulars Personal Akte Eingabe Logo eingefügte ungebundene Objektfeld für das Logo.
Access weist der Präsentation des Bildes die Eigenschaft Größenanpassung zu. Die Größenanpassung modifiziert nicht das Bild selbst. Das kopierte Bild verdeckt mehrere Steuerelemente. Dieses Problem wird korrigiert, wenn Sie das Bild im nächsten Abschnitt manipulieren.
Die Größenänderung und Festlegung der Eigenschaften von ungebundenen Objektfeldern entspricht weitgehend den Abläufen bei gebundenen Objektfeldern. Um das Hinzufügen des Logos in Ihr Formular abzuschließen, führen Sie die folgenden Schritte aus:
Abbildung 20.14: Größenanpassung des abgeschnittenen Bitmaps im ungebundenen Objektfeld an den verfügbaren Platz.
Abbildung 20.15: Festlegung der Eigenschaften für das Logo der Nordwind GmbH.
Abbildung 20.16: Das Logo der Nordwind GmbH in der Formularansicht.
In den Access-Versionen vor Access 96 mußte man Bitmaps in Objektfelder einbinden. Zu Access 95 und Access 97 gehört nun das Bild-Steuerelement (vergleichbar mit dem Bild-Steuerelement von Visual Basic 4.0), mit dem sich Bitmaps (.BMP), geräteunabhängige Bitmaps (.DIB) und Dateien im Windows Metafile Format (.WMF) oder Vektorbilder im erweiterten Metafile-Format (.EMF) in Formularen und Berichten anzeigen lassen. Das ungebundene Objektfeld Ihres Formulars Personal Akte Eingabe Logo ersetzen Sie in den folgenden Schritten durch das Bild-Steuerelement:
Abbildung 20.17: Auswahl der Datei Nwind.bmp, die weiter vorn in diesem Kapitel für das Bild-Steuerelement erzeugt wurde.
Abbildung 20.18: Das abgeschnittene Logo der Nordwind GmbH in einem Bild-Feld.
Abbildung 20.19: Das gezoomte Nordwind-Logo in einem Bild-Feld.
Bild-Steuerelemente sind ungebundenen Objektfeldern vorzuziehen, wenn Sie das statische Bild aus Ihrer Access-Anwendung heraus nicht zu bearbeiten brauchen und das Bild-Steuerelement den jeweiligen Dateityp unterstützt. Bild-Steuerelemente werden wesentlich schneller geladen und verbrauchen weniger Windows-Ressourcen als ungebundene Objektfelder.
Bild-Steuerelemente verfügen außerdem über eine Vielfalt zusätzlicher Eigenschaften, mit denen Sie die Präsentation des Bildes anpassen können. Eine der nützlichsten dieser neuen Eigenschaften ist Palettenherkunft. Mit dieser Eigenschaft können Sie eine Windows-Palettendatei (.PAL) oder eine andere Grafikdatei als Quelle für einen benutzerdefinierten Satz von 240 Farben festlegen, mit dem sich das Erscheinungsbild von 256-Farben-Bitmaps verbessern läßt. Wie die Vorgänger-Versionen läßt auch Access 97 nur die Anzeige von Bitmaps mit maximal 256 Farben zu. 32-Bit-ActiveX-Steuerelemente von Drittherstellern, die für die Bilddarstellung und -bearbeitung vorgesehen sind, erlauben Ihnen die Verwendung von Bitmaps mit einer höheren Farbtiefe (16 Bit und 24 Bit).
Microsoft Graph 97 (in diesem Buch entsprechend der ProgID in der Registrierung als MSGraph8 bezeichnet) ist eine 32-Bit-OLE 2.1 Miniserver-Anwendung und ersetzt MSGraph5. MSGraph8 stellt als OLE-Miniserver grafische Fähigkeiten für alle Microsoft-Anwendungen bereit. Die folgenden Abschnitte beschreiben, wie man mit dem Diagramm-Assistenten MSGraph8-Diagramme in Formulare und Berichte von Access 97 einbindet.
Die meisten im Management benötigten Diagramme gehören zur Kategorie der Zeitreihen. Sie geben Auskunft über den zeitlichen Verlauf von Finanzdaten zum Beispiel eingegangene Bestellungen, Artikelumsätze, Bruttohandelsspannen und ähnliches. Bei kleineren Firmen stammen diese Daten aus Tabellen, deren Einträge aus Originaldokumenten (beispielsweise Bestellungen oder Rechnungen) übernommen werden und die Basis für die Zusammenfassungen bilden.
Da bei großen Firmen mit Milliarden-Umsätzen in einem einzigen Jahr mehrere Millionen Einzeldatensätze auflaufen können, werden in diesen Firmen gewöhnlich Zusammenfassungen der Einzeldaten sogenannte Rollups in Tabellen gespeichert. Dieses Verfahren verbessert die Leistung von Abfragen. Rollups verwaltet man auf Mainframe-Computern oft in Client-/Server-RDBMSs, die unter UNIX oder Windows NT laufen und dem Erstellen von Datenkaufhäusern (Data Warehouses) dienen. Obwohl das Zusammenfassen von Daten aus relationalen Tabellen eines der grundlegenden Prinzipien der relationalen Theorie verletzt keine Daten in mehreren Tabellen führen und keine abgeleiteten Daten in Tabellen speichern sind Datenbanken mit Rollup-Daten sehr verbreitet.
Die Nordwind GmbH ist eine relativ kleine Firma, so daß es nicht erforderlich ist, die Einzeldatensätze zusammenzufassen, um eine akzeptable Abfrageleistung auf einem 486er (oder schnellerem) Computer zu erreichen. In den folgenden Schritten erstellen Sie eine Abfrage, die speziell für den Diagramm-Assistenten vorgesehen ist:
Abbildung 20.20: Der Abfrageentwurf für das Erstellen eines Diagramms mit dem Diagramm-Assistenten von Access 97.
Abbildung 20.21: Die Ergebnismenge der Abfrage aus Abbildung 20.20.
Obwohl es möglich ist, ein Diagramm unter Verwendung der Methode Objekt einfügen und Wahl des Objekttyps Microsoft Graph 97 zu erstellen, vereinfacht der Diagramm-AssistentUnverknuepfte Diagramme diesen Prozeß. Mit dem Diagramm-Assistenten können Sie zwei unterschiedliche Klassen von Diagrammen erstellen:
Der vorliegende Abschnitt erläutert das Erstellen eines unverknüpften Liniendiagramms auf der Basis einer Abfrage. Der nächste Abschnitt geht auf den Einsatz von MSGraph8 für die Anzeige alternativer Präsentationen Ihrer Daten in der Form von Balken- und Flächendiagrammen ein. Im letzten Abschnitt dieses Kapitels erzeugen Sie ein Diagramm, das mit einem spezifischen Datensatz einer Ergebnismenge der Abfrage verknüpft ist.
Um ein unverknüpftes Diagramm zu erzeugen, das die Daten aus der Abfrage AbfrDiagramm-Assistent anzeigt, führen Sie die folgenden Schritte aus:
Abbildung 20.22: Auswahl des Diagramm-Assistenten und der Abfrage, auf der das Diagramm basieren soll.
Abbildung 20.23: Auswahl der Felder, die in das Diagramm aufzunehmen sind.
Abbildung 20.24: Auswahl des Diagrammtyps.
Abbildung 20.25: Der erste Versuch des Diagramm-Assistenten, den Typ der zu erstellenden Kreuztabellenabfrage zu erraten.
Abbildung 20.26: Korrigieren der vom Diagramm-Assistenten angenommenen Kreuztabelle.
Abbildung 20.27: Hinzufügen eines Titels und einer Legende in das Diagramm.
Abbildung 20.28: Das vom Diagramm-Assistenten fertiggestellte ungebundene Diagramm in der Formularansicht.
Abbildung 20.29: Das erweiterte Objektfeld in der Formular-Entwurfsansicht.
MSGraph8 ist ein OLE 2.1-Miniserver. Sie können MSGraph8 direkt aktivieren und den Entwurf Ihres Diagramms modifizieren. MSGraph8 unterstützt außerdem die Automatisierung, so daß Sie per Access-VBA-Code die Entwurfsänderungen automatisieren können. Dieser Abschnitt zeigt Ihnen, wie Sie mit MSGraph8 den Entwurf des Diagramms manuell bearbeiten und das Liniendiagramm in ein Flächen- oder Säulendiagramm ändern.
Führen Sie die folgenden Schritte aus, um das Diagramm zu aktivieren und den Entwurf mit MSGraph8 zu bearbeiten:
Abbildung 20.30: Die erweiterte Version des Diagramms zeigt einen Teil des Datenblatts für das Diagramm an.
Abbildung 20.31: Den Schriftgrad für den Titel des Diagramms ändern.
Abbildung 20.32: Formatieren der numerischen Werte der Y-Achse.
Abbildung 20.33: Das Liniendiagramm mit neu formatierten Bezeichnungen der Y-Achse und einem größeren Diagrammtitel.
Vielleicht möchten Sie das Liniendiagramm für spezielle Zwecke in irgend einen anderen Diagrammtyp ändern (wie etwa Flächen- oder gestapeltes Säulendiagramm). Zum Beispiel lassen sich mit Flächendiagrammen besonders wirkungsvoll die Beiträge einzelner Artikelkategorien am Gesamtumsatz zeigen. Führen Sie die folgenden Schritte aus, um das Liniendiagramm in einen anderen Diagrammtyp zu ändern:
Abbildung 20.34: Ändern des Liniendiagramms in ein gestapeltes Flächendiagramm.
Abbildung 20.35: Das gestapelte Flächendiagramm in der Formularansicht.
Abbildung 20.36: Auswahl eines gestapelten Säulendiagrammtyps.
Abbildung 20.37: Das gestapelte Säulendiagramm in der Formularansicht.
Abbildung 20.38: Das prozentuale Säulendiagramm gibt die Verteilung an.
Von den hier demonstrierten vier Diagrammtypen ziehen viele Benutzer das Flächendiagramm vor, wenn sie Zeitreihendaten für mehrere Werte anzeigen müssen und die jeweiligen Gesamtwerte ebenfalls von Bedeutung sind.
Das Erstellen von Diagrammen mit MSGraph8 läuft nicht gerade berauschend schnell ab. Bei jedem Wechsel von der Entwurfsansicht in die Formularansicht führt Access die Abfrage aus, startet MSGraph8 im Hintergrund und übergibt die Abfrageergebnisse an MSGraph8. Auf einem 80486DX4/100-Computer mit PCI-Videobeschleunigerkarte und einer schnellen Festplatte dauert das Ganze bei Verwendung der Abfrage AbfrDiagrammAssistent etwa 13 bis 15 Sekunden. Das 32-Bit-OLE-Steuerelement Diagramm von Visual Basic 4.0 Graph32.ocx arbeitet wesentlich schneller als MSGraph8, setzt aber die Programmierung der Automatisierungscodes in Access-VBA voraus.
Ein weiteres Problem mit MSGraph8 besteht darin, daß man nicht ohne weiteres Daten in das Datenblatt von MSGraph8 per Access-VBA-Code übertragen kann. (Die Eigenschaften Cells und Range des DataSheet-Objekts von MSGraph8 besitzen den Nur-Lese-Status, so daß sich die Werte der Datenreihen nicht direkt per Automatisierung festlegen lassen.) Von Drittherstellern sind schneller arbeitende Diagrammanwendungen in der Form von OLE 2.x-Miniservern und ActiveX-Steuerelementen zu erwarten. Allerdings müssen Sie auch hier VBA-Code schreiben, um Datenreihen an diese Anwendungen zu senden.
Der Diagramm-Assistent von Access 97 ist recht engstirnig: Er besteht darauf, die Kreuztabellenabfrage für Sie zu erstellen. Wenn Sie aber erst einmal ein Diagramm mit dem Diagramm-Assistenten erzeugt haben, ändern Sie einfach den Wert der Eigenschaft Datensatzherkunft und geben eine nach Ihrem Entwurf vorliegende Kreuztabellenabfrage an. Daher können Sie eine der in Kapitel 10 erzeugten Abfragen (oder die in Kapitel 15 modifizierte Abfrage monatliche Umsätze nach Kategorie für 1995) verwenden und darauf die Abfrage monatliche Umsätze nach Kategorie für 1995 Diagramm aufbauen, die das gleiche Ergebnis wie die durch den Assistenten erstellte Kreuztabellenabfrage liefert. Für das Diagramm müssen Sie eine Tabelle oder Abfrage als Datensatzquelle spezifizieren, damit Sie das im nächsten Abschnitt »Das Diagramm mit einem einzelnen Datensatz einer Tabelle oder einer Abfrage verknüpfen« beschriebene Beispiel für ein verknüpftes Diagramm nachvollziehen können.
Führen Sie die folgenden Schritte aus, um die Abfrage monatliche Umsätze nach Kategorie für 1995 Diagramm zu erstellen:
Abbildung 20.39: Der Entwurf einer Abfrage, die monatliche Umsätze nach Artikelkategorien anzeigt.
Abbildung 20.40: Fixierte Spaltenüberschriften für die zwölf Monate hinzufügen.
Abbildung 20.41: Teil der Ergebnismenge der Abfrage Monatliche Umsätze nach Kategorie für 1995 Diagramm
Um ein verknüpftes DiagrammVerknuepfen zu erstellen, legen Sie die Werte der Eigenschaften Verknüpfen von und Verknüpfen nach des MSGraph8-Objekts fest. Die Verknüpfung ist ähnlich derjenigen zwischen einem Formular und einem Unterformular. Ein verknüpftes Diagramm zeigt die Datenreihen aus der aktuellen Zeile der Tabelle oder Abfrage an, die als Datensatzherkunft des Formulars dient. Wenn Sie den Datensatzzeiger verschieben, wird das Diagramm neu gezeichnet, um die Datenwerte in der markierten Zeile widerzuspiegeln.
Führen Sie die nachstehenden Schritte aus, um das Formular FormularDiagrammAssistent zu ändern und an ein verknüpftes Diagramm anzupassen:
Abbildung 20.42: Verknüpfen der Eigenschaft Datensatzherkunft des Diagramms mit dem aktuellen Datensatz des Formulars.
Abbildung 20.43: Die verknüpfte Version des Diagramms monatliche Umsätze nach Kategorie für 1995.
Abbildung 20.44: Erhöhung der Liniendicke und Ändern der Markierungen für die Datenreihenlinie.
Abbildung 20.45: Entfernen des Rahmens um die Legende.
Abbildung 20.46: Die Formularansicht des Diagramms mit hinzugefügten Entwurfsmerkmalen.
Abbildung 20.47: Geglättete Linie der Datenreihe.
Abbildung 20.48: In ein 3D-Säulendiagramm konvertiertes Liniendiagramm.
![]()
Um Hilfe zum Dialogfeld Diagrammtyp zu erhalten, klicken Sie auf die Schaltfläche Office-Assistent in der unteren linken Ecke des Dialogfelds.
In Access-Berichte fügen Sie ungebundene Diagramme genau so ein wie in Formulare. Wenn Sie mit einem Schwarzweiß-Drucker arbeiten, sollten Sie einen Liniendiagrammtyp wählen, der die Datenpunkte für jede Kategorie mit unterschiedlichen Symbolen kennzeichnet. Bei Flächen- und gestapelten Säulendiagrammen bieten sich unterschiedliche Schraffuren für die einzelnen Artikelkategorien an.
Ein Diagramm aus einer Kreuztabellenabfrage erstellen
Das Beispiel im folgenden Abschnitt funktioniert nicht mit der Kreuztabellenabfrage, die der Diagramm-Assistent in den oben aufgeführten Schritten erstellt hat. Daher müssen Sie zunächst die Abfrage monatliche Umsätze nach Kategorie für 1995 Diagramm erzeugen und diese dann als Datensatzherkunft für das ungebundene Objektfeld verwenden.
Öffnen Sie die Abfrage monatliche Umsätze nach Kategorie für 1995 in der Entwurfsansicht.
Klicken Sie auf die Schaltfläche Tabelle anzeigen der Symbolleiste, und fügen Sie die Tabelle Kategorien in die Abfrage ein. Zwischen den Feldern Kategorie-Nr der Tabellen Kategorien und Artikel wird eine Beziehung hergestellt.
Klicken Sie auf die Schaltfläche Ausführen der Symbolleiste, um die Abfrageergebnisse zu überprüfen (Abbildung 20.41).
Öffnen Sie (falls erforderlich) FormularDiagrammAssistent in der Entwurfsansicht, markieren Sie das ungebundene Objektfeld, und öffnen Sie das Eigenschaftenfenster.
Wechseln Sie in die Formularansicht. Überzeugen Sie sich davon, daß Ihr Liniendiagramm genauso wie das vom Diagramm-Assistenten erzeugte aussieht.
Nach dem Ändern der Eigenschaft Datensatzherkunft meines Diagramms in die Abfrage monatliche Umsätze nach Kategorie für 1995 Diagramm, erscheinen die Artikelkategorien im Diagramm als Beschriftungen der X-Achse, und die monatlichen Gesamtumsätze werden im Diagramm aufgetragen.
MSGraph8 bestimmt wahrscheinlich, daß die Spaltenüberschriften der Abfrage Datensatzherkunft die darzustellenden Datenreihen sind, wodurch der Kategoriename als Legende der X-Achse erscheint. Um die korrekten Daten für die Darstellung zu erhalten, zeigen Sie das Diagramm in der Formularansicht an und doppelklicken darauf, um die direkte Bearbeitung mit MSGraph8 zu aktivieren. Als nächstes wählen Sie Daten/Datenreihen in Zeilen, um die Datenreihenmarkierungen von den Spaltenüberschriften in die Zeilen zu ändern. Dadurch werden die DM-Beträge im Diagramm gezeichnet, und die Monate des Jahres stehen als Legende unter der X-Achse.
Das Diagramm mit einem einzelnen Datensatz einer Tabelle oder einer Abfrage verknüpfen
Öffnen Sie das Formular FormularDiagrammAssistent in der Entwurfsansicht. Klicken Sie dann auf die Schaltfläche Eigenschaften der Symbolleiste, um das Eigenschaftenfenster des Formulars zu öffnen.
Klicken Sie zum Testen des verknüpften Diagramms auf die Schaltfläche Formularansicht der Symbolleiste. Wenn Sie im vorherigen Abschnitt die Formularversion mit dem Liniendiagramm gespeichert haben, entspricht Ihr Diagramm jetzt Abbildung 20.43.
Die Dropdown-Liste Diagrammobjekte (oben links auf der Symbolleiste von MSGraph8) erleichtert das Markieren von Elementen des Diagramms zum Beispiel Ecken, Wände, Datenreihen und andere Elemente eines Balkendiagramms.
Ein Imprint des Markt&Technik Buch- und Software- Verlag GmbH
Elektronische Fassung des Titels: Special Edition: Access 97, ISBN: 3-8272-1013-5