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

Abbildung 1: Die verschiedenen Button-Zustände in Aktion.

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.

Newsletter

Newsletter