Ziel: Zahlen sichtbar machen – ohne Excel-Ausflug
Access kann mehr als nur Tabellen und Endlosformulare.
Du willst Tendenzen zeigen, Entwicklungen sichtbar machen oder Abweichungen erkennen?
Dann brauchst Du einfache Diagramme, Visualisierungen im Formular – oder einen kleinen Trick per VBA.
Variante 1: Klassisches Access-Diagramm
Seit Access 2016 gibt’s das neue Diagrammobjekt Modern Chart.
EinfĂŒgen im Formularentwurf ĂŒber â „Diagramm“.
Datenquelle: Tabelle oder Abfrage
Diagrammtypen:
- SĂ€ulen
- Linien
- Kreis
- Balken
- Punkt
- Kombi
Beispiel: Umsatz nach Monat
- Abfrage
qryUmsatzMonatmit FeldernMonat,Umsatz - Diagramm auf Formular ziehen
- Datenreihen zuweisen (X: Monat, Y: Umsatz)
Sieht okay aus. Interaktiv? Eher nicht.
Aber fĂŒr schnelle Reports reicht’s.
Variante 2: Diagramm per VBA steuern
Me.ChartUmsatz.RowSource = "SELECT Monat, Umsatz FROM qryUmsatzMonat"
Me.ChartUmsatz.Requery
So kannst Du z. B. dynamisch filtern oder per SchaltflÀche neue Daten anzeigen.
Variante 3: Fortschrittsbalken im Formular
Einfacher Balken, z. B. fĂŒr Projektfortschritt oder Zielerreichung
Private Sub Form_Current()
Dim prozent As Double
prozent = Nz(Me.Fortschritt, 0)
Me.balken.Width = prozent * 2 ' 100% = 200 twips
Me.lblProzent.Caption = prozent & "%"
End Sub
balken ist ein Rechteck-Steuerelement.
Skalierung kannst Du anpassen.
Einfach. Effektiv.
Variante 4: Farbige Statusfelder
Feld einfÀrben je nach Wert:
Private Sub Status_AfterUpdate()
Select Case Me.Status
Case "offen": Me.Status.BackColor = vbRed
Case "in Bearbeitung": Me.Status.BackColor = vbYellow
Case "erledigt": Me.Status.BackColor = vbGreen
Case Else: Me.Status.BackColor = vbWhite
End Select
End Sub
Oder zentral im Form_Current setzen.
Variante 5: Externe Diagramme mit Excel erzeugen
Wenn Access zu unflexibel wird, exportiere die Daten nach Excel – und lass dort das Diagramm sprechen.
Public Sub DiagrammInExcel()
Dim xl As Object, wb As Object, ws As Object, chartObj As Object
Set xl = CreateObject("Excel.Application")
xl.Visible = True
Set wb = xl.Workbooks.Add
Set ws = wb.Sheets(1)
' Daten aus Abfrage einfĂŒgen
ws.Range("A1").CopyFromRecordset CurrentDb.OpenRecordset("SELECT Monat, Umsatz FROM qryUmsatzMonat")
Set chartObj = ws.ChartObjects.Add(Left:=100, Width:=400, Top:=50, Height:=300)
With chartObj.Chart
.SetSourceData Source:=ws.Range("A1:B13")
.ChartType = 51 ' xlColumnClustered
.HasTitle = True
.ChartTitle.Text = "Umsatz pro Monat"
End With
End Sub
Erfordert: Excel installiert.
Vorteil: volle Kontrolle ĂŒber Design.
Variante 6: Farbliche Formatierung per VBA
Beispiel: Zahlenwerte mit Ampel-Farben darstellen
Private Sub txtUmsatz_Format(Cancel As Integer, FormatCount As Integer)
If Me.Umsatz < 1000 Then
Me.txtUmsatz.ForeColor = vbRed
ElseIf Me.Umsatz < 5000 Then
Me.txtUmsatz.ForeColor = vbOrange
Else
Me.txtUmsatz.ForeColor = vbGreen
End If
End Sub
Oder: ganze Zeile farbig – ĂŒber bedingte Formatierung.
Variante 7: Dynamische HTML-Ausgabe mit Diagramm
Du kannst Daten als HTML-Seite rendern – mit eingebettetem Chart (z. B. Chart.js)
- Daten auslesen
- JSON erzeugen
- HTML-Datei schreiben
- per
FollowHyperlinköffnen
Ist fortgeschritten – aber mĂ€chtig.
Fazit fĂŒr Entwickler
Access ist kein Power BI – aber mehr als ein Taschenrechner.
Du kannst einfache Visualisierung direkt im Formular umsetzen.
Oder ĂŒber Excel, HTML oder REST-Schnittstellen erweitern.