Montag, 16. November 2020

Better Access Charts

Es ist jetzt mehr als fünf Jahre her, dass ich hier auf meinem Blog einen neuen Beitrag gepostet habe. Dies wird sich jetzt ändern. 😎

Microsoft Access braucht dringend neue Charts. Die bisherigen Charts stammen noch aus den 90er Jahren des letzten Jahrhunderts. Microsoft hat die Charts einem Lifting unterzogen. Sie nennen es die "modern charts". Aber da geht noch mehr. 😎

Es gibt viele Lösungen für Diagramme, die auf Java Script basieren und im Web verfügbar sind. Dies werden wir nutzen. Wir erstellen Diagramme mit der Bibliothek Chart.js.
Aber wie zeigen wir diese jetzt in einem Access Formular an?  Dazu nutzen wir das Webbrowser-Steuerelement. Mittels VBA erstellen wir eine *.html-Datei, die den Chart anzeigt. Diese bringen wir im Webbrowser-Steuerelement zur Anzeige.

Soweit die Idee. Aber funktioniert das überhaupt? Und wer hat schon Lust, sich in die Syntax von chart.js einzuarbeiten? Hier kommt Better Access Charts ins Spiel. Wir erstellen ein Klassenmodul, welches die komplette Logik für die Erstellung der *.html-Datei kapselt.

Am Ende stelle ich mir vor, dass der VBA-Code ungefähr so aussieht:

1:    Dim myChart As cls_Better_Access_Chart  
2:    Set myChart = New cls_Better_Access_Chart  
3:    Set myChart.Control = Me.ctlWebbrowser  
4:    myChart.Data = "Hier kommen die Daten"  
5:    myChart.HasLegend = true  
6:    myChart.LegendPosition = chLegendPosition.Right  
7:    myChart.DrawChart  

So einfach soll das gehen. Bis dahin wir sicherlich noch das eine oder andere Problem zu lösen sein. Aber davon lasse ich nicht jetzt nicht aufhalten. 😀

Das Projekt werde ich auf GitHub bereitstellen. Die jeweils aktuelle Version ist dort verfügbar:

Kommentare:

Unknown hat gesagt…

Hallo,

leider funktioniert bei mir die Testdatenbank nicht. Beim Klicken auf Create Chart kommt eine Fehlermeldung, dass ein Script error aufgetreten ist und das Formular bleibt leer.

Wenn ich die index datei mit einen Browser öffne funktioniert es ohne Probleme.

Ben hat gesagt…

Nice to see you writing about Access.

Thomas Möller hat gesagt…

Wenn eine Fehlermeldung auftritt, dann liegt das daran, dass noch nicht alle Voraussetzungen vorhanden sind. Die Voraussetzungen habe ich in diesem Wiki-Artikel beschrieben: https://github.com/team-moeller/better-access-charts/wiki/Prerequisites-to-get-started