Moderne Diagramme mit VBA

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

Chart-Klasse im Objektkatalog

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 Steuer­elemente 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).

Chart-Klasse im Objektkatalog

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).

Ein altes und ein modernes Diagramm-Steuerelement

Bild 2: Ein altes und ein modernes Diagramm-Steuerelement

Unterschiede 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 Steuer­element 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 Steuer­elemente 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 Diagramm­ein­stel­lun­gen|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 Steuer­element 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).
  • Einige mit dem jeweiligen Namen beschrifteten Eigenschaften eines Diagramms

    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.

Bitte geben Sie die Zeichenfolge in das nachfolgende Textfeld ein

Die mit einem * markierten Felder sind Pflichtfelder.

Ich habe die Datenschutzbestimmungen zur Kenntnis genommen.