Kapitel 33
Makros
700
Schnell ein paar Schritte
In Teil D, »Formulare«, haben Sie schon einen kurzen Blick auf Makros werfen können. Bei Makros
handelt es sich um Befehlsabfolgen, die es Ihnen unter anderem erlauben, auf Formular- und
Berichtsereignisse zu reagieren. Für viele einfache Aufgaben sind Makros die schnellste Lösung, da
sie nur geringe Programmierkenntnisse erfordern.
In Access 2007 hat Microsoft zudem einige Nachteile der Vorgängerversionen beseitigt. Wurde
früher die Ausführung von Makros bei Fehlern angehalten, so lassen sich in der aktuellen Version
Fehler genau wie in Visual Basic abfangen und behandeln. Darüber hinaus lassen sich jetzt Makros
ähnlich wie Visual Basic mit Code Behind Forms an Ereignisse binden. Diese so genannten einge-
betteten Makros unterscheiden sich von den eigenständigen Makros dahingehend, dass sie nicht im
Navigationsbereich erscheinen und fest an das Objekt und sein Ereignis gebunden sind. Dies geht
sogar soweit, dass eingebettete Makros auch in Kopien der Objekte vorhanden sind. Weitere Vorteile
von Makros sind nach wie vor die leichte Zusammenstellung und die deutschen Befehle. Allerdings
werden die Makros sehr schnell sehr komplex, wenn die zu lösenden Probleme schwieriger werden.
Wir empfehlen den Teilnehmern in unseren Seminaren, sich in erster Linie mit Visual Basic aus-
einander zu setzen. Zwar ist am Anfang der Lernaufwand höher, dafür stößt man auch nicht an
Grenzen, wie es mit Makros schnell passieren kann. In professionellen Access-Programmen werden,
von wenigen Ausnahmen abgesehen, keine Makros eingesetzt.
Einfache Makros
Wir möchten Ihnen einige kurze und einfache Makrolösungen präsentieren, die zeigen sollen, wie
Sie mit wenigen Mausklicks Abläufe automatisieren können. Es gibt grundsätzlich zwei unterschied-
liche Arten, Makros zu programmieren: Entweder Sie erstellen eigenständige Makros, die unter
einem bestimmten Namen im Navigationsbereich abgelegt sind, oder Sie erstellen eingebettete
Makros, die an ein bestimmtes Steuerelement, einen Bericht oder ein Formular gebunden sind und
nur im Zusammenhang mit diesem Objekt verwendet werden.
Ein eigenständiges Makro erstellen
Einige Mitarbeiter von CineCity erhalten eine Programmübersicht und eine Filmliste ausgedruckt,
die nach Wochen geordnet ist. Da immer ein Ausdruck beider Listen hintereinander erfolgt, soll ein
Makro erstellt werden, der beide Berichte hintereinander aufruft.
Beginnen Sie mit der Erstellung eines neuen Makros, indem Sie die Registerkarte Erstellen aktivie-
ren. Klicken Sie in der Gruppe Andere auf die Schaltfläche Neues Objekt: Makro, um das Entwurfs-
fenster für Makros aufzurufen. Hier kann auch Modul oder Klassenmodul als Symbol eingestellt sein,
in diesem Fall können Sie Makro mit Hilfe des Pfeils auswählen.
Einfache Makros
701
Programmierung
Ein Makro wird Befehl für Befehl zeilenweise eingegeben. Wählen Sie im Kombinationsfeld zu
Aktion die gewünschte Makroaktion aus. Eine vollständige Liste aller Befehle und ihre Beschreibung
finden Sie im Abschnitt »Die Makroaktionen« weiter hinten in diesem Kapitel.
Zur Lösung der oben gestellten Aufgabe wählten wir ÖffnenBericht als Aktion an. Im unteren
Bereich des Entwurfsfensters können Sie nun unter Berichtsname den aufzurufenden Bericht selek-
tieren. In Ansicht wird bestimmt, ob der Bericht direkt gedruckt, zuerst in der Seitenansicht oder in
der Entwurfsansicht gewählt werden soll.
Abbildg. 33.1
Makro mit zwei Aktionen
In der zweiten Zeile des Makros, wie in Abbildg. 33.1 gezeigt, werden die Angaben für den zweiten
Bericht vereinbart.
Präfix
»mcr«
Speichern Sie nun das eigenständige Makro unter dem Namen mcrDruckProgrammUndFilmliste.
Makros sollten das Präfix »mcr« erhalten. Sie haben soeben ein eigenständiges Makro erstellt, das
einen eigenen Namen hat und im Navigationsbereich aufruf- und bearbeitbar ist.
Über die Schaltfläche Ausführen veranlassen Sie Access, das Makro zu starten und abzuarbeiten.
Im nächsten Schritt soll für das eigenständige Makro eine Schaltfläche definiert werden, über die das
Makro bequem gestartet werden kann. Diese Schaltfläche soll auf dem Formular frmKinosTermine-
MitAnzahl platziert werden und soll das Makro mcrDruckProgrammUndFilmliste aufrufen.
Kapitel 33
Makros
702
1. Öffnen Sie das Formular in der Entwurfsansicht, wählen Sie das Werkzeug Schaltfläche aus und
klicken Sie im Formularentwurfsbereich auf die Stelle, an der die Schaltfläche platziert werden
soll. Ist der Steuerelement-Assistent aktiviert, wird der Befehlsschaltflächen-Assistent gestartet.
2. Selektieren Sie im Befehlsschaltflächen-Assistenten die in Abbildg. 33.2 gezeigte Aktion für die
Befehlsschaltfläche.
Abbildg. 33.2
Aktion für Befehlsschaltfläche festlegen
3.
Anschließend legen Sie fest, dass das oben definierte eigenständige Makro mit dieser Befehls-
schaltfläche ausgeführt werden soll.
Abbildg. 33.3
Auswahl des Makros
4.
Als Text auf der Befehlsschaltfläche definieren wir Programm und Filmliste drucken. Der Name
der Schaltfläche wurde mit cmdPrint festgelegt.

Get Microsoft Office Access 2007 - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.