Ziel: Oberfläche aufräumen, klar machen, passend für den Nutzer
Access sieht von Haus aus… na ja.
Menüband, Navigationsbereich, graue Standardformulare.
Du willst: aufgeräumt, intuitiv, anwenderfreundlich.
Ohne die Kontrolle abzugeben.
Variante 1: Menüband ausblenden
DoCmd.ShowToolbar "Ribbon", acToolbarNo
Oder dauerhaft in den Startoptionen deaktivieren.
Wichtig: Schaltflächen in Formulare einbauen, sonst ist der Nutzer orientierungslos.
Variante 2: Navigationsbereich ausblenden
DoCmd.SelectObject acTable, , True
DoCmd.RunCommand acCmdWindowHide
Oder per Optionen deaktivieren:
Datei → Optionen → Aktuelle Datenbank → Navigationsbereich deaktivieren
Variante 3: Startformular festlegen
Datei → Optionen → Aktuelle Datenbank → Anzeigeformular
Oder im VBA:
DoCmd.OpenForm "frmDashboard"
Das Hauptmenü ist der Einstieg – nicht das Datenblatt.
Variante 4: Formular als Bildschirm füllen
Private Sub Form_Load()
DoCmd.Maximize
End Sub
Und im Formular:
Rahmen = „Keiner“, PopUp = Nein, Modal = Nein
So wirkt’s wie eine echte Anwendung – nicht wie Access.
Variante 5: Farben und Steuerelemente gezielt einsetzen
- keine grellen Farben
- konsequente Schaltflächen-Optik
lblÜberschrift
= fett, größertxtEingabe
= klar, genug AbstandcmdSpeichern
= immer an gleicher Stelle
Und: Schaltflächen benennen (cmdSpeichern
, cmdAbbrechen
, nicht Command17
).
Variante 6: Kontextmenüs abschalten
Application.SetOption "Use Access Special Keys", False
Oder:
Me.ShortcutMenu = False
So gibt’s kein Rechtsklick-Wirrwarr.
Variante 7: Eigene Ribbon-Menüs erstellen
Per XML in Tabelle oder Datei hinterlegen.
Dann:
' Rückgabe in Callback-Funktion
Public Function GetCustomUI(ribbonName As String) As String
GetCustomUI = LoadMyRibbonXml()
End Function
Musst dann in den Startoptionen den Ribbon-Namen setzen.
Variante 8: Bedienelemente je nach Rolle sichtbar machen
If Not UserHatRolle("Admin") Then
Me.cmdLöschen.Visible = False
Me.cmdImport.Visible = False
End If
Oder: auf Enabled = False
setzen, wenn sichtbar bleiben soll.
Variante 9: Tooltip-Texte setzen
Me.cmdSpeichern.ControlTipText = "Speichert den aktuellen Datensatz"
Hilft viel, kostet nix.
Variante 10: Formularzustände mit Farben oder Symbolen zeigen
Select Case Me.Status
Case "Offen": Me.lblStatus.BackColor = vbYellow
Case "Fertig": Me.lblStatus.BackColor = vbGreen
Case "Fehler": Me.lblStatus.BackColor = vbRed
End Select
Oder: kleine Status-Icons einblenden.
Variante 11: Dynamisch zwischen Ansichten wechseln
DoCmd.OpenForm "frmDetails", , , "ID=" & Me.ID
Und das Hauptformular im Hintergrund geöffnet lassen.
So bleibt der Kontext erhalten.
Best Practices
- Nutzer nicht überfordern
- Keine zehn Buttons auf einmal
- Fokusführung per Tab-Index logisch setzen
- Tooltips für alles, was erklärungsbedürftig ist
- Einheitliche Farben, Texte, Positionen
Fazit für Entwickler
Access muss nicht nach Access aussehen.
Wenn Du willst, sieht’s aus wie eine App – mit Ribbon, Dashboard, Menüführung.
Du brauchst nur Disziplin. Und klare Entscheidungen.
No responses yet