Makros sind Einstieg, nicht Endstation
Access-Makros sind eine Art grafisches VBA-Light.
Du klickst Aktionen zusammen. Kein Code nötig.
Gut fĂŒr einfache Dinge. Nicht fĂŒr komplexe Logik.
Trotzdem nĂŒtzlich, z. B. beim:
- Ăffnen von Formularen
- AusfĂŒhren von Abfragen
- Setzen von Werten
- Steuerung beim Start
Du kannst mit Makros starten – und spĂ€ter auf VBA umsteigen.
Beispiel: Einfaches Makro zum Formular öffnen
- Neues Makro erstellen
- Aktion:
Formular öffnen - Formularname:
frmKunden - Ansicht:
Einzelformular - Filter: leer
- Modus: Normal
Speichern als mcrĂffneKundenformular
Dann im MenĂŒ, Button oder AutoExec verwenden.
Makros als Startpunkt: AutoExec
Makro mit Namen AutoExec wird beim Ăffnen der Datenbank automatisch ausgefĂŒhrt.
Typische Aktionen:
- Startformular öffnen
- TempVars setzen
- PrĂŒfungen durchfĂŒhren
Beispiel:
- Aktion:
TempVarSetzen - Name:
Benutzer - Ausdruck:
=Environ("USERNAME")
Danach:
- Aktion:
Formular öffnenâfrmDashboard
Bedingte AusfĂŒhrung im Makro
Makros können auch If-Bedingungen:
If [Benutzerrolle]="Admin" Then
Formular öffnen â frmAdmin
Else
Formular öffnen â frmUser
End If
In der Makro-OberflÀche:
Aktion „Wenn“, darunter die gewĂŒnschte Aktion, ggf. mit „Sonst“.
Makros konvertieren zu VBA (wenn’s ernst wird)
Rechtsklick auf ein Makro â „In VBA konvertieren“
Access erzeugt eine neue Funktion im Modul modConvertedMacros.
Beispiel:
Function mcrĂffneKundenformular()
DoCmd.OpenForm "frmKunden", acNormal
End Function
Ab da kannst Du erweitern: Fehlerbehandlung, Parameter, Logging.
VBA statt Makro: Flexibler und kontrollierbarer
Makros sind schnell gebaut, aber begrenzt.
Typische Umstellungen:
If CurrentUser = "admin" Then
DoCmd.OpenForm "frmAdmin"
Else
DoCmd.OpenForm "frmUser"
End If
Oder:
DoCmd.OpenForm "frmKunden", , , "Land='DE'"
Mix möglich: Makro ruft VBA auf
Makro-Aktion: AusfĂŒhrenCode
Ausdruck: =StartePrĂŒfung()
Dann im Modul:
Public Function StartePrĂŒfung()
MsgBox "Datenbank geprĂŒft"
End Function
So kannst Du schrittweise von Makro auf VBA umstellen.
Best Practices fĂŒr Makros
- Keine Logik in Makros – nur AblĂ€ufe
- Bei mehr als 5 Aktionen: umsteigen auf VBA
- Makros klar benennen:
mcrĂffneDashboard,mcrStarteImport - Kommentare nutzen – auch in Makros möglich
- Makrofehler explizit abfangen oder visualisieren
Wann Makros reichen
- Navigation
- Autostart
- Einfache Datenimport-Jobs
- Demo-Zwecke oder Benutzersteuerung
Wann Du besser gleich auf VBA gehst
- Wenn Du Daten prĂŒfst
- Wenn Du Berechnungen brauchst
- Wenn Du mit API/Webzugriffen arbeitest
- Wenn Du Schleifen, FehlerprĂŒfung oder Logging brauchst
Also Entwickler:
Makros in Access sind schnell gemacht.
Aber bei komplexeren Anforderungen sind sie eher Stolperstein als Hilfe.
Du kannst sie nutzen – aber besser nur als Einstieg oder Trigger.