Zum Inhalt dieser Seite

Access-Grundlagen #5 - Makros

5.1 Gründe für Makros 5.2 Gründe gegen Makros
5.3 Makros konvertieren

Nach oben 5.1 Gründe für Makros

Es gibt eigentlich keine guten Gründe, Makros einzusetzen. Halbwegs sinnvolle Einsatzmöglichkeiten sind:

  • Das "AutoExec"-Makro zur Ausführung von Code beim Start der Datenbank
  • Das Tastaturbelegungs-Makro "AutoKeys"
  • Makro testweise mit gewünschten Aktionen anlegen und anschliessend in VBA-Code umwandeln lassen (falls man mal wieder die Syntax/Befehle vergessen hat - s. 5.3 ).
Einzelansicht

Nach oben 5.2 Gründe gegen Makros

Folgende Gründe gegen Makros stammen von Reinhard Kraasch und werden immer wieder gerne zitiert, deshalb soll's auch hier geschehen:

Zitat »Warum sind Makros Mist?«

Man kann es nicht oft genug sagen:

  • In Makros kann man keine Fehler behandeln (d.h. z.B.: Makros laufen praktisch nicht in der Access-Runtime)
  • Makros kennen keine Variablen, keine Schleifen oder andere Strukturen
  • Makros sind schlecht dokumentierbar und lesbar (speziell wenn sie Bedingungen enthalten)
  • Makros können Funktionen des Windows-API oder anderer Bibliotheken nicht direkt verwenden
  • Makros können keine Systemobjekte wie Tabellen und Abfragen erstellen oder bearbeiten, Transaktionen verarbeiten usw. usw.
  • Makros sind schlecht bis gar nicht zu debuggen

und auch - last but not least:

  • Makros kann man nicht im Forum posten ;=)

Eher früher als später kommt man an die Grenzen der Makros (normalerweise schon in der ersten Woche mit Access) und es gibt nichts schlimmeres als eine Mischung aus Makros und VBA-Code!

Das beste ist also: Von vornherein - Finger weg von den Makros!

Oder wenn man Makros hat: Mit dem Assistenten in VBA Code umstellen und dann ab in die Tonne damit!

Reinhard Kraasch

Einzelansicht

Nach oben 5.3 Makros konvertieren

(Fast) Jeder sagt, man solle Makros vergessen und diese in VBA-Code konvertieren. Wie geht das?

1. Als erstes muss man das Makro in der Entwurfsansicht öffnen und geht auf "Datei/Speichern unter...".

Makroentwurf - Datei - Speichern unter

2. Im nächsten Dialog wählt man "Modul" aus und bestätigt mit "OK".

Benennen des zu erstellenden Moduls

3. Danach lässt man am besten die beiden untenstehenden Optionen aktiviert und klickt auf "Konvertieren".

Einstellungen wie Fehlerbehandlung und Kommentare vornehmen

4. Nach erfolgreicher Umwandlung gibt es auch eine Meldung.

Erfolgsmeldung nach der Konvertierung

5. Das konvertierte Makro sollte anschliessend unter den Standard-Modulen zu finden sein. Im Beispiel hiess das Makro vorher "MeinMakro". Das Modul kann man jetzt im Entwurf öffnen und die darin enthaltene Funktion anpassen. Überall dort, wo das Makro vorher aufgerufen wurde, muss man den Start des Makros an die übliche Aufruf-Form von Funktionen "=FunktionsName()" (ohne Anführungszeichen und natürlich mit dem richtigen Funktionsnamen) anpassen.

Das Makro ist nun auch als Modul zu finden
Einzelansicht