Access-Grundlagen #5 - Makros
5.1 Gründe für Makros | 5.2 Gründe gegen Makros |
5.3 Makros konvertieren |
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 ).
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:
EinzelansichtZitat »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
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...".
2. Im nächsten Dialog wählt man "Modul" aus und bestätigt mit "OK".
3. Danach lässt man am besten die beiden untenstehenden Optionen aktiviert und klickt auf "Konvertieren".
4. Nach erfolgreicher Umwandlung gibt es auch eine Meldung.
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.
Einzelansicht
Seiten: 1