Wenn Sie ein Abonnement des Magazins 'Access im Unternehmen' besitzen, können Sie sich anmelden und den kompletten Artikel lesen.
Anderenfalls können Sie das Abonnement hier im Shop erwerben.
Moderne Diagramme mit VBA
Bild 1: Chart-Klasse im Objektkatalog
Die mit Access 2019/Office 365 eingeführten modernen Diagramme bieten eine VBA-Schnittstelle an, mit der Sie die Diagramme steuern können. Dieser Beitrag zeigt, wie das Objektmodell für moderne Diagramme aussieht und liefert einige Beispiele für die Nutzung der VBA-Steuerung für moderne Diagramme. In einem Fall zeigen wir etwa, wie Sie die Bereiche der Y-Achse für ein Diagramm abhängig von den enthaltenen Werten einstellen können.
Da die modernen Diagramme wie die übrigen Steuerelemente in Access integriert sind und nicht etwa als ActiveX-Steuerelement bereitgestellt werden (wie es beispielsweise beim alten Diagramm-Steuerelement der Fall war), finden Sie diese im Objektkatalog des VBA-Editors als eigene Klasse namens Chart (siehe Bild 1).
Bild 1: Chart-Klasse im Objektkatalog
Hier finden wir nicht nur bei der Suche nach dem Begriff Chart direkt die Konstante für den Steuerelementtyp, nämlich acChart, sondern auch die Klasse Chart mit all ihren Eigenschaften.
Darunter gibt es auch einige Elemente, die wiederum Auflistungen oder Klassen enthalten wie ChartAxis, ChartAxisCollection und so weiter.
Aber ist mit der Chart-Klasse tatsächlich das moderne Diagramm-Steuerelement gemeint oder referenzieren wir damit eventuell sogar das alte, etwas betagtere Diagramm-Element? Das müssten wir erst einmal herausfinden.
Dazu fügen wir einem Formular sowohl ein altes als auch ein modernes Diagramm-Steuerelement hinzu und benennen diese in ctlOld und ctlNew um (siehe Bild 2).
Bild 2: Ein altes und ein modernes Diagramm-SteuerelementUnterschiede zwischen altem und neuem Diagramm
Dann öffnen wir das Formular in der Formularansicht und lassen uns im Direktbereich des VBA-Editors die Typen der beiden Diagramme ausgeben. Zuerst rufen wir die Typename-Funktion für das alte Diagramm auf und erhalten als Ergebnis ObjectFrame:
Typename(Forms!frmAltUndNeu!ctlAlt)
ObjectFrame
ObjectFrame ist aber nur der Container, in dem das eigentliche Steuerelement enthalten ist. Also ermitteln wir noch den Typ des enthaltenen Steuerelements:
Typename(Forms!frmAltUndNeu!ctlAlt.Object)
Chart
Danach führen wir den gleichen Befehl für das neue Diagramm aus:
Typename(Forms!frmAltUndNeu!ctlNeu)
Chart
Das ist nun interessant, denn beide Steuerelemente entsprechen zumindest einem Objekttyp gleichen Namens. Sind die Chart-Eigenschaften, die wir im Objektkatalog gefunden haben, aber nun die Eigenschaften für das moderne oder für das herkömmliche Chart-Element? Wenn wir uns ein Detail anschauen, scheint es sich hier um die Eigenschaften für das moderne Element zu handeln.
Die Eigenschaft ChartType der Chart-Klasse liefert nämlich genau elf Elemente – und so viele Möglichkeiten bietet auch die Eigenschaft Diagrammtyp im Eigenschaftsfenster für das moderne Diagramm-Steuerelement im Formular.
Die herkömmliche Chart-Klasse bietet 18 verschiedene Diagrammtypen. Gehen wir also an dieser Stelle davon aus, dass die Chart-Klasse die für das moderne Diagramm passenden Eigenschaften liefert.
VBA-Eigenschaften der Chart-Klasse
Wir verschaffen uns zunächst einen Überblick über die Eigenschaften der Chart-Klasse und ordnen diese den Eigenschaften im Eigenschaftenblatt beziehungsweise im Bereich Diagrammeinstellungen für das moderne Diagramm-Steuerelement zu.
Allgemeine Eigenschaften
Die folgenden Eigenschaften sind die allgemeinen Eigenschaften des Diagramm-Steuerelements.
Wir geben jeweils den VBA-Namen der Eigenschaften an, dann die Entsprechung in der Benutzeroberfläche und, soweit notwendig, die Funktion der angegebenen Eigenschaft:
- ChartAxis (Bereich Diagrammeinstellungen|Daten, dort die markierten Einträge der Eigenschaft Achse (Rubrik), getrennt durch Semikola und in eckige Klammern eingefasst.
- ChartAxisCollection (keine Entsprechung): siehe weiter unten unter Auflistungen in Diagrammen
- ChartSeriesCollection (keine Entsprechung): siehe weiter unten unter Auflistungen in Diagrammen
- ChartType (Diagrammtyp): Einer der Werte der Auflistung acChartType, also acChartBarClustered (Gruppierte Balken), acChartBarStacked (Gestapelte Balken), acChartBarStacked100 (Gestapelte Balken 100%), acChartColumnClustered (Gruppierte Säulen), acChartColumnStacked (Gestapelte Säulen), acChartColumnStacked100 (Gestapelte Säulen 100%), acChartCombo (Verbund), acChartLine (Linien), acChartLineStacked (Gestapelte Linien), acChartLineStacked100 (Gestapelte Linien 100%), acChartPie (Kreis)
- ChartValues (Bereich Diagrammeinstellungen|Daten, dort die markierten Einträge der Eigenschaft Werte/Größen (Y-Achse), getrennt durch Semikola und in eckige Klammern eingefasst)
- ChartValuesCollection (Bereich Diagrammeinstellungen|Daten, dort die markierten Einträge der Eigenschaft Werte/Größen (Y-Achse)): Details siehe weiter unten unter Auflistungen in Diagrammen
- HasAxisTitles (Hat Achsentitel): Stellt ein, ob die Titel der Rubrikenachse sowie der primären und sekundären Größenachsen angezeigt werden.
- LinkChildFields (Verknüpfen von): Gibt an, über welches Feld der Datensatzherkunft des Diagramm-Steuerelements die Verknüpfung hergestellt werden soll.
- LinkMasterFields (Verknüpfen nach): Gibt an, über welches Feld der Datensatzherkunft des Formulars beziehungsweise über welches Steuerelement des Formulars die Verknüpfung hergestellt werden soll.
- TransformedRowSource (Transformierte Datensatzherkunft): schreibgeschützte Eigenschaft, die die über die verschiedenen Eigenschaften ermittelte transformierte Datensatzherkunft enthält.
Eigenschaften des Titels des Diagramms
Diese Eigenschaften verwenden Sie zum Einstellen des Aussehens der Titelzeile des Diagramms:
- ChartTitle (Diagrammtitel): Gibt den Titel des Diagramms an (siehe Bild 3). Bild 3: Einige mit dem jeweiligen Namen beschrifteten Eigenschaften eines Diagramms
- ChartTitleFontName (Schriftartname des Diagrammtitels)
- ChartTitleFontSize (Schriftgrad des Diagrammtitels)
- ChartTitleFontColor, ChartTitleFontShade, ChartTitleFontTint, ChartTitleThemeColorIndex (zusammengefasst in Schriftfarbe des Diagrammtitels)
- HasTitle (Hat Titel): Gibt an, ob ein Titel angezeigt werden soll.
Eigenschaften für den Untertitel des Diagramms
Die folgenden Eigenschaften verwenden Sie, um den Untertitel eines Diagramms und seine Eigenschaften einzustellen:
- ChartSubtitle (Diagrammuntertitel): Gibt den Untertitel des Diagramms an.
- ChartSubtitleFontColor, ChartSubtitleFontShade, ChartSubtitleFontTint, ChartSubtitleThemeColorIndex (zusammengefasst in Schriftfarbe des Diagrammuntertitels)
- ChartSubtitleFontSize (Schriftgrad des Diagrammuntertitels)
- HasSubtitle (Hat Untertitel): Gibt an, ob ein Untertitel angezeigt werden soll.
Eigenschaften für die X-Achse/Rubrikenachse
Dies war die Leseprobe dieses Artikels.
Melden Sie sich an, um auf den vollständigen Artikel zuzugreifen.