Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 4/2006.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Zusammenfassung

Lernen Sie die Vor- und Nachteile von Makros und deren Grundlagen kennen.

Techniken

Makros, Formulare

Voraussetzungen

Access 97 und höher

Makros, Teil 1: Grundlagen

André Minhorst, Duisburg

Unter VBA-Profis verpönt, von Einsteigern und Gelegenheitsnutzern geliebt: Makros erlauben das Automatisieren vieler Aufgaben in Access ohne Programmierkenntnisse. In diesem Beitrag erfahren Sie, wie Makros funktionieren und wann ihr Einsatz sinnvoll ist.

Vorbemerkung

"Makros - das ist doch was für Anfänger!", mag der erfahrene VBA-Entwickler sagen. Doch dieser Beitrag ist nicht nur für Einsteiger gedacht, sondern auch für Fortgeschrittene: Wann haben Sie denn das letzte Mal mit einem Makro gearbeitet - und wissen Sie überhaupt noch, wie das genau geht? Früher oder später stößt man als Access-Entwickler mal wieder auf eine Datenbank, die ein Kunde mehr oder weniger liebevoll mit Makros bestückt hat - und muss diese dann anpassen oder direkt durch passende VBA-Routinen ersetzen. Auch damit beschäftigt sich diese Beitragsreihe.

Und ganz nebenbei: Makros sollen in Access 2007 eine Aufwertung erfahren - mehr dazu in einer der folgenden Ausgaben von Access im Unternehmen.

Makro gleich Makro?

Word und Excel stellen Funktionen zur Verfügung, mit denen man Benutzeraktionen als Makros aufzeichnen und erneut abspielen kann. Hinter einem solchen Makro verbirgt sich jeweils eine VBA-Routine als Repräsentation der beim Aufzeichnen durchgeführten Aktionen. Der Clou ist, dass versierte Anwender die VBA-Routinen anpassen und damit beliebige Vorgänge automatisieren können.

Wer in Access einen ähnlichen Ansatz erwartet, irrt: Die Makros von Access haben rein gar nichts mit VBA zu tun, und Benutzeraktionen kann man damit auch nicht aufzeichnen.

Vielmehr stehen Makros für "Programmieren light": Sie erlauben das Ausführen vieler Aktionen wie das Öffnen wie Formularen oder Berichten, das Anzeigen von Meldungsfenstern oder das Löschen und Hinzufügen von Datensätzen.

Makros oder VBA?

Meist entscheiden die Kenntnisse eines Access-Anwenders darüber, ob er Funktionen mit Makros oder mit VBA programmiert. Wer VBA beherrscht, sollte in jedem Fall VBA einsetzen. Wer kein VBA kann, sollte prüfen, ob Makros zum Lösen der jeweiligen Aufgabe ausreichen - und die Antwort darauf fällt gar nicht so leicht. Dazu müsste man nämlich im Vorfeld wissen, welche Funktionen die Anwendung insgesamt enthalten wird - und das ist praktisch unmöglich, denn die meisten Anwendungen sind erstens nie "fertig", und zweitens weiß man nicht im Voraus, welche Techniken man zukünftig für die Umsetzung der gewünschten Funktionen benötigt. Auch hier gilt: Mit VBA ist man auf der sicheren Seite; nur wenn man sicher ist, dass Makros für die zu programmierenden Funktionen ausreichen und keine weiteren Funktionen hinzukommen, kann man Makros guten Gewissens einsetzen.

Abb. 1: Das Datenbankfenster mit einigen Makros.

Solange die Menge der verwendeten Makros überschaubar ist, lassen sich diese leicht in entsprechende VBA-Funktionen umwandeln - man sollte hier allerdings rechtzeitig die Notbremse ziehen: Sonst lässt man nämlich irgendwann seine Anwendung mit vielen hundert Makros von einem professionellen Entwickler erweitern, und wird feststellen, dass Entwickler auf solche Aufgaben nicht besonders freudig reagieren.

Grenzen von Makros

Makros haben Grenzen. Und die werden umso deutlicher, je mehr man damit arbeitet: Der Funktionsumfang ist beschränkt, es fehlen Debugging- und Fehlerbehandlungsmöglichkeiten, und die Wartungsfreundlichkeit ...

Vorteile von Makros

Wer Makros als das Mittel der Wahl zur Umsetzung seiner Datenbank-Funktionen nutzt, hat natürlich auch einige Vorteile erkannt: Sie sind einfach im Aufbau und lassen sich ohne Kenntnisse einer Programmiersprache leicht erstellen. Es wird lediglich eine Reihe von Aktionen nacheinander ausgeführt, die Sie auch alle von Hand über die Menüleisten und durch Eingaben tätigen könnten.

Das wichtigste Einsatzgebiet für Makros ist deshalb die Automatisierung sich wiederholender Arbeitsabläufe. Darunter fallen beispielsweise Berechnungen, aber auch das Kopieren von Daten oder das Öffnen eines Formulars.

Makros programmieren

In diesem Kapitel erfahren Sie, wie Sie Makros öffnen, neu anlegen und bearbeiten. Anhand eines Beispiels lernen Sie dabei den Aufbau eines Makros und die prinzipielle Vorgehensweise zum Erstellen von Aktionen kennen.

Makros im Datenbankfenster

Access verwaltet Makros wie alle anderen Datenbankobjekte im Datenbankfenster. Um alle vorhandenen Makros der aktuellen Datenbank aufzulisten, klicken Sie im Datenbankfenster auf das Register Makros. Sollte dieses Fenster nicht aktiv sein, bringen Sie es mit der Taste F11 in den Vordergrund (s. Abb. 1).

Um ein vorhandenes Makro zu bearbeiten, markieren Sie es im Datenbankfenster und klicken anschließend auf die Schaltfläche Entwurf. Ein neues Makro erstellen Sie über die Schaltfläche Neu.

Das Makrofenster

Sobald Sie ein Makro zum Entwurf öffnen oder ein neues anlegen, erscheint das Makrofenster. Dort verwalten Sie alle Aktionen eines Makros (s. Abb. 2).

Das Makrofenster zeigt in der Grundeinstellung zwei Spalten an. In der Spalte Aktion geben Sie die gewünschten Aktionen ein. In der Spalte Kommentar können Sie jeder Aktion eine Beschreibung hinzufügen.

In jeder Zeile des Makrofensters steht genau eine Aktion. Beim Ausführen eines Makros werden die Aktionen nacheinander von oben nach unten abgearbeitet. Die Reihenfolge, in der Sie die Aktionen anordnen, ist also entscheidend für den Ablauf des Makros.

Abb. 2: Das Makrofenster enthält alle Aktionen eines Makros.

Nachdem Sie ein neues Makro erstellt haben, werden Sie beim Schließen automatisch dazu aufgefordert, dem Werk einen Namen zu geben, unter dem es gespeichert wird.

Hinweis

Ein Makro bekommt eine besondere Bedeutung, wenn Sie ihm den Namen Autoexec geben. Dieses Makro wird beim Öffnen der Datenbank automatisch ausgeführt. (

Erste Schritte

Im folgenden Beispiel erzeugen Sie eine Meldung mit Hilfe eines Makros. Dabei lernen Sie die Eingabe von Aktionen, den Aufbau einer Aktion mit ihren Aktionsargumenten und das Starten von Makros kennen.

Aktionen eingeben

Eine neue Aktion geben Sie ein, indem Sie zunächst in eine freie Zeile klicken. Es erscheint dann am rechten Rand der Spalte der Pfeil eines Kombinationsfeldes. Klicken Sie auf den Pfeil, um die Liste des Kombinationsfeldes aufzuklappen. In der Liste sind alle verfügbaren Makro-Aktionen aufgeführt. Sie brauchen nur den entsprechenden Eintrag auszuwählen.

Alternativ dazu können Sie eine Aktion auch direkt per Tastatur eingeben.

Abb. 3: Auswählen einer Makro-Aktion

Es genügt dabei die Eingabe der ersten beiden Buchstaben Me. Den Rest ergänzt Access automatisch. Wenn Sie nach einiger Zeit mit den Makro-Aktionen vertraut sind, ist die direkte Eingabe häufig einfacher und schneller als die Auswahl aus der Liste (s. Abb. 3).

Eine Meldung erzeugen

Um eine Meldung auf dem Bildschirm auszugeben, verwenden Sie die Aktion Meldung. Erzeugen Sie dazu über das Datenbankfenster ein neues Makro und geben Sie die Aktion wie zuvor beschrieben in der ersten Aktionszeile ein.

Diese Aktion ist damit freilich noch nicht vollständig beschrieben. Es ist bis jetzt nirgendwo festgelegt, welcher Text ausgegeben wird. Zu diesem Zweck werden im unteren Teil des Makrofensters Aktionsargumente zur aktiven Aktion aufgeführt. Für die Aktion Meldung sind dies die Argumente Meldung, Signalton, Typ und Titel. Über diese Argumente konfigurieren Sie die Meldung.

Hinweis

Jede Aktion hat andere Aktionsargumente. Sobald Sie eine Aktion auswählen, erscheinen die entsprechenden Argumente im unteren Teil des Makrofensters. (

Beim Argument Meldung geben Sie den Text ein, der im Meldungsfenster erscheinen soll. Auf die gleiche Weise können Sie den Titel des Meldungsfensters eingeben.

Für die Aktionsargumente Signalton und Typ sind keine beliebigen Eingaben erlaubt, sondern dort können nur vordefinierte Werte abgelegt werden, die Access über eine Liste vorgibt (s. Abb. 4).

Wer bereits mit der MsgBox-Anweisung gearbeitet hat, wird schnell feststellen, dass die Makro-Funktion Meldung und deren Optionen diese Anweisung fast genau nachbilden.

Abb. 4: Auswahl von Argumenten für eine Option.

Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

Sind Sie Abonnent?Jetzt einloggen ...
 

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

© 2003-2015 André Minhorst Alle Rechte vorbehalten.