Stylische Checkboxen & Toggle-Buttons in MS Access
Die Standard-Checkbox in Access ist klein, grau, eckig – und irgendwie leblos. Mit ein bisschen VBA ersetzt du sie durch einen CommandButton mit echtem Icon, Hover-Effekt und viel Interaktivität. Ich zeige dir zwei einfache Wege.
Wir alle kennen es: Die Standard-Steuerelemente in Microsoft Access sind nicht besonders schick – allen voran die Checkbox. Sehnsüchtig blicken wir auf moderne Webanwendungen, wo alles smooth, interaktiv und stylisch wirkt. Aber Access kann mehr, als es auf den ersten Blick scheint.
Mit etwas Code und cleverem Einsatz vorhandener Funktionen ersetzt du eine langweilige Checkbox oder einen ToggleButton durch einen CommandButton – mit Icon, Hover-Effekt und jeder Menge Interaktivität.
Warum ein CommandButton?
- Beliebige Icons (auch dynamisch zur Laufzeit)
- Größenanpassung – vom Mini- bis zum Mega-Button
- Hover-Funktionen und visuelles Feedback
- Mehr Interaktion und ein moderner Look
- Freie Gestaltung für Zustände wie ON/OFF, LOCK/UNLOCK, SHOW/HIDE
Eine Checkbox dagegen ist… nun ja, recht beschränkt: klein, grau, eckig – und irgendwie leblos. 😅
Beispiel 1: Checkbox ersetzen
Was du brauchst:
- ein passendes Icon (aus der versteckten Tabelle MSysResources),
- einen zusätzlichen CommandButton, der die Checkbox steuert,
- und ein paar Zeilen VBA.
Die Idee: Der Button klickt → der Wert der (versteckten) Checkbox wird umgeschaltet → das Bild wird geändert. Alles in einer Sub im Formular:
Private Sub cmdShow_Click()
' Wert umschalten (True/False)
Me.chkShow.Value = Not Me.chkShow.Value
' Icon wechseln (danke an Alessandro Grimaldi)
Me.cmdShow.Picture = IIf(Me.chkShow, "show_ON", "show_OFF")
End Sub Beispiel 2: Toggle mit mehreren Zuständen
Mit einer Textbox als Statusspeicher und einem CommandButton schaltest du beliebig viele Zustände durch – z. B. 1 → 2 → 3 → … → 16 → zurück zu 1.
Private Sub cmdIcons_Click()
tboIcons = (Nz(tboIcons) Mod 16) + 1
' statt der Funktion ginge auch eine Switch-Expression
SetMyControlImage_ICONS Me, Me.cmdIcons, Me.tboIcons.Value
End Sub Die Funktion setzt je nach Zahl das passende Icon:
Public Sub SetMyControlImage_ICONS(frm As Form, ctr As Control, ctrValue As Integer)
Select Case ctrValue
Case 1: frm.Controls(ctr.Name).Picture = "switch_ON"
Case 2: frm.Controls(ctr.Name).Picture = "switch_OFF"
Case 3: frm.Controls(ctr.Name).Picture = "check_ON"
Case 4: frm.Controls(ctr.Name).Picture = "check_OFF"
Case 5: frm.Controls(ctr.Name).Picture = "lock_ON"
Case 6: frm.Controls(ctr.Name).Picture = "lock_OFF"
Case 7: frm.Controls(ctr.Name).Picture = "show_ON"
Case 8: frm.Controls(ctr.Name).Picture = "show_OFF"
Case 9: frm.Controls(ctr.Name).Picture = "no1"
Case 10: frm.Controls(ctr.Name).Picture = "no2"
Case 11: frm.Controls(ctr.Name).Picture = "no3"
Case 12: frm.Controls(ctr.Name).Picture = "no4"
Case 13: frm.Controls(ctr.Name).Picture = "facebook"
Case 14: frm.Controls(ctr.Name).Picture = "linkedin"
Case 15: frm.Controls(ctr.Name).Picture = "pinterest"
Case 16: frm.Controls(ctr.Name).Picture = "youtube"
End Select
End Sub Die Icons liegen in der versteckten Tabelle MSysResources. Einblenden über Rechtsklick → Navigationsoptionen → Systemobjekte anzeigen. Dort kannst du eigene Icons hinterlegen und dein Design einzigartig machen.
Fazit
Mit minimalem Aufwand erweiterst du deine Access-Formulare nicht nur funktional, sondern modernisierst sie optisch und interaktiv. So wird Access wieder spannend, lebendig und benutzerfreundlich.
Danke an Alessandro Grimaldi für den Hinweis, die IIf-Expression zu nutzen, und für einen einfachen Weg, Nummern zu „toggeln”. Im Download zeige ich verschiedene Techniken zum Ändern des Icons – direkt im Formular oder als wiederverwendbare Funktion.
Download
Checkboxen und Toggle-Buttons in MS Access stylisch ersetzen – CommandButton mit Icon, Hover-Effekt und mehreren Zuständen, gesteuert per VBA und MSysResources.




