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

  1. Neues Makro erstellen
  2. Aktion: Formular öffnen
  3. Formularname: frmKunden
  4. Ansicht: Einzelformular
  5. Filter: leer
  6. 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 öffnenfrmDashboard

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.

Categories:

Tags:

No responses yet

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert