Seit Access 2007 ersetzt das sogenannte Ribbon die klassischen MenĂŒ- und Symbolleisten. Es bringt Struktur, Klarheit und moderne Bedienung in Access-Anwendungen – wenn man es richtig nutzt. In diesem Beitrag zeige ich Dir, wie sich die Ribbon-Programmierung ĂŒber die Versionen hinweg verĂ€ndert hat, welche Möglichkeiten bestehen und wie Du mit XML und VBA eigene Ribbon-Steuerelemente programmierst.
đ§ Historischer Ăberblick: Vom CommandBar-MenĂŒ zum XML-Ribbon
â Access 2003 und frĂŒher
- Klassische CommandBars (MenĂŒ- und Symbolleisten)
- Steuerung vollstĂ€ndig ĂŒber VBA (
CommandBars("Datei").Controls.Add...
) - Benutzerdefiniert, aber veraltet seit Office 2007
đ Access 2007: Die Revolution mit Fluent UI
- EinfĂŒhrung des Ribbon auf Basis von XML
- Definition in der Tabelle
USysRibbons
- UnterstĂŒtzung fĂŒr:
- Tabs & Gruppen
- Buttons, ToggleButtons, Galleries
- Callback-Funktionen in VBA
đ Access 2010 bis 2016
- Kein Bruch, aber Stabilisierung
- GeringfĂŒgige Erweiterungen in der Office-Welt (z. B. Backstage-MenĂŒ)
- Themes, Symbole und Kontextregisterkarten
đŠ Access 2019 / 2021 / Microsoft 365
- Ribbon-Architektur bleibt erhalten
- Fokus auf KompatibilitÀt und Theme-Anpassung
- Keine dynamische XML-Generierung zur Laufzeit möglich
- Noch immer keine GUI fĂŒr Ribbon-Design in Access selbst
đ§© Aufbau eines benutzerdefinierten Ribbons
1. XML-Definition in USysRibbons
Beispiel fĂŒr ein einfaches Ribbon mit einem Tab und einem Button:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon>
<tabs>
<tab id="tabBenutzer" label="Meine Funktionen">
<group id="grpAktionen" label="Aktionen">
<button id="btnInfo" label="Info" size="large"
imageMso="HappyFace"
onAction="Ribbon_Click" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
2. Eintrag in USysRibbons
Erstelle eine neue Tabelle mit folgendem Aufbau:
RibbonName | RibbonXML |
---|---|
MeinRibbon | (XML wie oben) |
â ïž Wichtig: Benenne die Tabelle USysRibbons
(mit „USys“) – Access erkennt sie dann automatisch als Ribbon-Definition.
3. Aktivieren in den Optionen
- Datei > Optionen > Aktuelle Datenbank
- Dropdown „MenĂŒbandname“: WĂ€hle
MeinRibbon
4. VBA-Callback
Public Sub Ribbon_Click(control As IRibbonControl)
Select Case control.ID
Case "btnInfo"
MsgBox "Das ist ein benutzerdefinierter Ribbon-Button!"
End Select
End Sub
đ ïž NĂŒtzliche XML-Beispiele & Elemente
đ Button mit Toggle-Funktion:
<toggleButton id="tglAnsicht" label="Ansicht umschalten"
imageMso="TableViewDatasheet"
onAction="ToggleAnsicht" />
Public Sub ToggleAnsicht(control As IRibbonControl, pressed As Boolean)
If pressed Then
DoCmd.OpenForm "frmĂbersicht"
Else
DoCmd.Close acForm, "frmĂbersicht"
End If
End Sub
đ Dropdown (Gallery):
<dropDown id="ddlBerichte" label="Berichte wÀhlen" getItemCount="GetCount"
getItemLabel="GetLabel" onAction="SelectBericht" />
Public Function GetCount(control As IRibbonControl, ByRef count As Integer)
count = 3
End Function
Public Function GetLabel(control As IRibbonControl, index As Integer, ByRef label As String)
Select Case index
Case 0: label = "Kundenliste"
Case 1: label = "Umsatzreport"
Case 2: label = "ProjektĂŒbersicht"
End Select
End Function
Public Sub SelectBericht(control As IRibbonControl, id As String, index As Integer)
Select Case index
Case 0: DoCmd.OpenReport "rptKunden", acViewPreview
Case 1: DoCmd.OpenReport "rptUmsatz", acViewPreview
Case 2: DoCmd.OpenReport "rptProjekte", acViewPreview
End Select
End Sub
đŻ Best Practices
Tipp | Beschreibung |
---|---|
đ Callback-Namen sauber halten | Verwende sprechende Namen fĂŒr Callbacks wie onAction="cmdExportieren_Click" |
đ§± Modular denken | Trenne Ribbon-Logik von Formularlogik |
đ§© Bilder und Icons | Verwende imageMso fĂŒr Standard-Icons (Liste bei Microsoft verfĂŒgbar) |
đ Fallbacks vermeiden | Ribbons funktionieren nicht ohne korrekt definierte XML |
đ§Ș Debugging | Aktiviere im VBA-Editor: Fehlerbehandlung aktivieren (Strg+G â Direktfenster) |
đ Ressourcen und Tools
- RibbonX Editor (Open Source Tool) – ideal zum Bearbeiten der XML
- Microsoft Symbol-Liste: imageMso Reference
- AccessRibbon.de – Umfangreiche deutsche Doku & Beispiele
đ Fazit fĂŒr IT-Abteilungen & Entwickler im Mittelstand
Die Ribbon-Programmierung ist seit Access 2007 technisch stabil geblieben – das heiĂt: einmal gelernt, kannst Du Deine Ribbon-Logik in nahezu allen modernen Access-Versionen wiederverwenden. Gerade bei komplexeren Anwendungen (ERP, CRM, DMS, etc.) sorgt ein sauber programmiertes Ribbon fĂŒr eine klare BenutzerfĂŒhrung und entlastet die Nutzer durch kontextbezogene Aktionen.
đŠ Du brauchst Hilfe?
Ich unterstĂŒtze Dich gern bei der Umsetzung eigener Ribbons – ob fĂŒr Standardfunktionen oder zur Steuerung ganzer Access-Anwendungen.
Keine Antworten