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
qryUmsatzMonat
mit 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.
No responses yet