Makros, Teil 1: Grundlagen

Zusammenfassung

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

Techniken

Makros, Formulare

Voraussetzungen

Access 97 und höher

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.

“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.

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.

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.

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.

Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

Workplace

Jahresabonnement TestzugangOder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar