In Microsoft Access werden Makros, die Benutzeroberflächenobjekten wie Befehlsschaltflächen, Textfeldern, Formularen und Berichten zugeordnet sind, als Benutzeroberflächenmakros bezeichnet. Damit unterscheiden sie sich von Datenmakros, die Tabellen zugeordnet sind. Benutzeroberflächenmakros werden verwendet, um eine Reihe von Aktionen zu automatisieren, etwa das Öffnen eines anderen Objekts, das Anwenden eines Filters, das Starten eines Exportvorgangs und viele andere Aufgaben. Dieser Artikel macht Sie mit den Neuerungen des weiterentwickelten Makro-Generators vertraut und zeigt die grundlegenden Aufgaben zum Erstellen eines Benutzeroberflächenmakros.
Hinweis: Dieser Artikel gilt nicht für Access-Web-Apps.
Inhalt dieses Artikels
Übersicht
Makros können in Makroobjekten (manchmal auch als eigenständige Makros bezeichnet) enthalten oder in die Ereigniseigenschaften von Formularen, Berichten oder Steuerelementen eingebettet sein. Eingebettete Makros werden Teil des Objekts oder des Steuerelements, in das sie eingebettet sind. Makroobjekte sind im Navigationsbereich unter Makros sichtbar, eingebettete Makros nicht.
Jedes Makro besteht aus einer oder mehreren Makroaktionen. Je nach Kontext, in dem Sie arbeiten, stehen einige Makroaktionen möglicherweise nicht zur Verfügung.
Makro-Generator
Hier sind einige der wichtigsten Features des Makro-Generators.
-
Aktionskatalog Makroaktionen sind nach Typen geordnet und können durchsucht werden.
-
IntelliSense Beim Eingeben von Ausdrücken schlägt IntelliSense mögliche Werte vor und erlaubt Ihnen die Auswahl des richtigen Werts.
-
Tastenkombinationen Verwenden Sie Tastenkombinationen zum schnelleren und einfacheren Schreiben von Makros.
-
Programmablauf Erstellen Sie besser lesbare Makros mit Kommentarzeilen und Aktionsgruppen.
-
Bedingte Anweisungen Ermöglichen eine komplexere Ausführung der Programmlogik mit Unterstützung für geschachteltes "Wenn"/"Sonst"/"Sonst Wenn".
-
Wiederverwendung von Makros Im Aktionskatalog werden andere von Ihnen erstellte Makros angezeigt, damit Sie Teile in das Makro kopieren können, an dem Sie arbeiten.
-
Vereinfachte Freigabe Kopieren Sie ein Makro, und fügen Sie es dann als XML-Code in eine E-Mail, einen Post in einer Newsgroup, einen Blog oder eine Website mit Codebeispielen ein.
Hier ist ein Video, das Sie durch die hauptbereiche des Makro-Generators führt.
Erstellen eines eigenständigen Makros
Bei diesem Vorgang wird ein eigenständiges Makroobjekt erstellt, das im Navigationsbereich unter Makros angezeigt wird. Eigenständige Makros sind nützlich, wenn das Makro an verschiedenen Stellen der Anwendung verwendet werden soll. Durch Aufrufen des Makros aus anderen Makros kann ein Duplizieren des gleichen Makrocodes an mehreren Stellen umgangen werden.
-
Klicken Sie auf der Registerkarte Erstellen in der Gruppe Makros und Code auf Makro.
Access öffnet den Makro-Generator. -
Klicken Sie auf der Symbolleiste für den Schnellzugriff auf Speichern.
-
Geben Sie im Dialogfeld Speichern unter einen Namen für das Makro ein, und klicken Sie dann auf "OK".
-
Fahren Sie mit dem Abschnitt Hinzufügen von Aktionen zu einem Makro fort.
Erstellen eines eingebetteten Makros
Bei diesem Vorgang wird ein Makro erstellt, das in eine Ereigniseigenschaft eines Objekts eingebettet ist. Ein Makro dieses Typs wird nicht im Navigationsbereich angezeigt, es kann jedoch von Ereignissen, wie etwa Beim Laden oder Beim Klicken, aufgerufen werden.
Da das Makro zu einem Bestandteil des Formular- oder Berichtsobjekts wird, empfehlen sich eingebettete Makros für die Automatisierung von Aufgaben, die für ein bestimmtes Formular oder einen bestimmten Bericht spezifisch sind.
-
Klicken Sie im Navigationsbereich mit der rechten Maustaste auf das Formular oder den Bericht, das bzw. der das Makro enthalten soll, und klicken Sie dann auf Layoutansicht.
-
Wenn das Eigenschaftenblatt noch nicht angezeigt wird, drücken Sie F4, um es anzuzeigen.
-
Klicken Sie auf das Steuerelement oder den Abschnitt, das die Ereigniseigenschaft enthält, in die Sie das Makro einbetten möchten. Sie können auch das Steuerelement oder den Abschnitt (oder das gesamte Formular oder den gesamten Bericht) auswählen, indem Sie die Dropdownliste unter Auswahltyp oben auf dem Eigenschaftenblatt verwenden.
-
Klicken Sie im Aufgabenbereich "Eigenschaftenblatt" auf die Registerkarte Ereignis.
-
Klicken Sie auf das Eigenschaftenfeld für das Ereignis, von dem das Makro ausgelöst werden soll. Wenn beispielsweise ein Makro für eine Befehlsschaltfläche ausgeführt werden soll, wenn auf die Schaltfläche geklickt wird, klicken Sie auf das Eigenschaftenfeld Beim Klicken.
-
Wenn das Eigenschaftenfeld die Wörter [Eingebettetes Makro] enthält, bedeutet dies, dass für dieses Ereignis bereits ein Makro erstellt wurde. Sie können das Makro bearbeiten, indem Sie mit den verbleibenden Schritten dieses Vorgangs fortfahren.
-
Wenn das Eigenschaftenfeld das Wort [Ereignisprozedur] enthält, bedeutet dies, dass für dieses Ereignis bereits eine VBA-Prozedur (Visual Basic for Applications) erstellt wurde. Vor dem Einbetten eines Makros im Ereignis muss die Prozedur entfernt werden. Sie können zu diesem Zweck das Wort [Ereignisprozedur] löschen, doch sollten Sie zuerst die Ereignisprozedur überprüfen und sicherstellen, dass durch das Entfernen keine erforderliche Funktionalität in der Datenbank außer Kraft gesetzt wird. In einigen Fällen kann die Funktionalität der VBA-Prozedur durch Verwenden eines eingebetteten Makros neu erstellt werden.
-
Klicken Sie auf die Schaltfläche Erstellen .
-
Wenn das Dialogfeld Generator auswählen angezeigt wird, vergewissern Sie sich, dass Makro-Generator ausgewählt ist, und klicken Sie dann auf OK.
Access öffnet den Makro-Generator. Fahren Sie mit dem nächsten Abschnitt fort, um dem Makro Aktionen hinzuzufügen.
Hinzufügen von Aktionen zu einem Makro
Aktionen sind einzelne Befehle, aus denen sich ein Makro zusammensetzt, und jeder Befehl ist nach der Aktion benannt, die er ausführt, z. B. SuchenDatensatz oder SchließenDatenbank.
Schritt 1: Suchen nach einer Makroaktion
Der erste Schritt beim Hinzufügen einer Aktion besteht darin, sie in der Dropdownliste Neue Aktion hinzufügen oder im Aktionskatalog zu suchen.
Hinweise:
-
Standardmäßig werden in der Dropdownliste Neue Aktion hinzufügen und im Aktionskatalog nur Aktionen angezeigt, die in nicht vertrauenswürdigen Datenbanken ausgeführt werden können. Gehen Sie wie folgt vor, um alle Aktionen anzuzeigen:
-
Klicken Sie auf der Registerkarte Entwurf in der Gruppe Einblenden/Ausblenden auf Alle Aktionen anzeigen.
-
-
Falls der Aktionskatalog nicht angezeigt wird, klicken Sie auf der Registerkarte Entwurf in der Gruppe Einblenden/Ausblenden auf Aktionskatalog.
Verwenden Sie eine der folgenden Methoden, um nach einer Aktion zu suchen:
-
Klicken Sie auf den Pfeil in der Dropdownliste Neue Aktion hinzufügen, und scrollen Sie nach unten, um nach der Aktion zu suchen. Programmablaufelemente sind zuerst aufgeführt, und anschließend sind die Makroaktionen alphabetisch aufgelistet.
-
Suchen Sie im Bereich "Aktionskatalog" nach der Aktion. Die Aktionen sind nach Kategorien gruppiert. Erweitern Sie alle Kategorien, um die Aktionen anzuzeigen. Wenn Sie eine Aktion auswählen, wird unten im Aktionskatalog eine Kurzbeschreibung der Aktion angezeigt.
-
Suchen Sie im Bereich "Aktionskatalog" durch Eingabe im Suchfeld oben im Bereich nach der Aktion. Während der Eingabe wird die Liste der Aktionen gefiltert und zeigt alle Makros an, die den betreffenden Text enthalten. Access durchsucht sowohl die Makronamen als auch deren Beschreibungen nach dem eingegebenen Text.
Schritt 2: Hinzufügen einer Aktion zu einem Makro
Nachdem Sie die gewünschte Makroaktion gefunden haben, fügen Sie sie dem Makro mithilfe einer der folgenden Methoden hinzu:
-
Wählen Sie in der Liste Neue Aktion hinzufügen eine Aktion aus, oder beginnen Sie einfach mit der Eingabe des Aktionsnamens im Feld. Access fügt die Aktion an der Position hinzu, an der die Liste Neue Aktion hinzufügen angezeigt wurde.
-
Ziehen Sie die Aktion aus dem Aktionskatalog in den Makrobereich. Eine Einfügemarke zeigt an, wo die Aktion beim Loslassen der Maustaste eingefügt wird.
-
Doppelklicken Sie im Aktionskatalog auf die Aktion.
-
Wenn im Makrobereich eine Aktion ausgewählt ist, fügt Access die neue Aktion unmittelbar unterhalb der ausgewählten Aktion ein.
-
Wenn ein Block Gruppe, Wenn, Sonst Wenn, Sonst oder Untermakro im Makrobereich ausgewählt ist, fügt Access die neue Aktion dem betreffenden Block hinzu.
-
Wenn im Makrobereich keine Aktion oder kein Block ausgewählt ist, fügt Access die neue Aktion am Ende des Makros hinzu.
Hinweise:
-
Wenn Sie bereits ein oder mehrere Makros erstellt haben, sind diese im Aktionskatalog unter dem Knoten In dieser Datenbank aufgelistet.
-
Durch Ziehen eines eigenständigen Makros (ein Makro, das unter Makros aufgelistet ist) in den Makrobereich wird eine Aktion AusführenMakro erstellt, die das hineingezogene Makro ausführt. Anschließend kann die Dropdownliste zum Aufrufen von Untermakros verwendet werden, sofern diese vorhanden sind.
-
Wenn Sie lediglich die Aktionen aus einem eigenständigen Makro in das aktuelle Makro kopieren möchten (statt eine Aktion AusführenMakro zu erstellen), klicken Sie im Aktionskatalog mit der rechten Maustaste darauf, und klicken Sie dann auf Kopie des Makros hinzufügen.
-
Durch Ziehen eines eingebetteten Makros (ein Makro, das unter einem Formular- oder Berichtsobjekt aufgelistet ist) in den Makrobereich werden die Aktionen aus dem betreffenden Makro in das aktuelle Makro kopiert.
-
-
Sie können eine Aktion auch erstellen, indem Sie ein Datenbankobjekt aus dem Navigationsbereich in den Makrobereich ziehen. Wenn Sie eine Tabelle, eine Abfrage, ein Formular, einen Bericht oder ein Modul in den Makrobereich ziehen, fügt Access eine Aktion hinzu, mit der die Tabelle, die Abfrage, das Formular oder der Bericht geöffnet wird. Wenn Sie ein anderes Makro in den Makrobereich ziehen, fügt Access eine Aktion hinzu, mit der das Makro ausgeführt wird.
-
-
Schritt 3: Angeben von Argumenten
Die meisten Makroaktionen erfordern mindestens ein Argument. Sie können eine Beschreibung jedes Arguments anzeigen, indem Sie die Aktion auswählen und dann den Zeiger über die Argumente bewegen. Für viele Argumente kann ein Wert aus einer Dropdownliste ausgewählt werden. Wenn Sie für das Argument einen Ausdruck eingeben müssen, unterstützt IntelliSense Sie beim Eingeben des Ausdrucks, indem mögliche Werte während der Eingabe vorgeschlagen werden, wie in der folgenden Abbildung dargestellt:
Wenn Sie einen gewünschten Wert sehen, fügen Sie ihn zum Ausdruck hinzu, indem Sie darauf doppelklicken oder ihn mithilfe der Pfeiltasten markieren und anschließend die TAB- oder EINGABETASTE drücken.
Weitere Informationen zum Erstellen von Ausdrücken finden Sie im Artikel Einführung in Ausdrücke.
Informationen zur Verwendung von IntelliSense in Verbindung mit Eigenschaften in Webdatenbanken
Wenn Sie ein eingebettetes Benutzeroberflächenmakro in einem mit dem Web kompatiblen Formular erstellen, ermöglicht IntelliSense das Hinzufügen einer beliebigen Formulareigenschaft zu einem Ausdruck. In einer Webdatenbank kann mit Benutzeroberflächenmakros jedoch nur auf eine Untermenge von Formulareigenschaften zugegriffen werden. So ermöglicht IntelliSense beispielsweise bei Vorhandensein eines Steuerelements mit dem Namen "Steuerelement1" auf einem Formular mit dem Namen "Formular1", dass Sie dem Ausdruck in einem Benutzeroberflächenmakro "[Formulare]![Formular1]![Steuerelement1].[Steuerelementinhalt]" hinzufügen. Wenn Sie die Datenbank dann in Access Services veröffentlichen, erzeugt das Makro, das den Ausdruck enthält, jedoch einen Fehler, wenn es auf dem Server ausgeführt wird.
Die folgende Tabelle enthält die Eigenschaften, die Sie in Benutzeroberflächenmakros in Webdatenbanken verwenden können:
Objekt oder Steuerelement |
Eigenschaften, die verwendet werden können |
---|---|
Formular |
Beschriftung, Geändert, AnfügenZulassen, LöschenZulassen, BearbeitungenZulassen |
Registersteuerelement |
Sichtbar |
Beschriftung |
Beschriftung, Sichtbar, Vordergrundfarbe, Hintergrundfarbe |
Anlage |
Sichtbar, Aktiviert |
Befehlsschaltfläche |
Beschriftung, Sichtbar, Aktiviert, Vordergrundfarbe |
Textfeld |
Aktiviert, Sichtbar, Gesperrt, Vordergrundfarbe, Hintergrundfarbe, Wert |
Kontrollkästchen |
Aktiviert, Sichtbar, Gesperrt, Wert |
Bild |
Sichtbar, Hintergrundfarbe |
Kombinationsfeld |
Aktiviert, Sichtbar, Gesperrt, Wert |
Listenfeld |
Aktiviert, Sichtbar, Gesperrt, Wert |
Webbrowser |
Sichtbar |
Unterformular |
Aktiviert, Sichtbar, Gesperrt |
Navigationssteuerelement |
Aktiviert, Sichtbar, |
Verschieben einer Aktion
Aktionen werden in der Reihenfolge von der obersten zur untersten Position im Makro ausgeführt. Verwenden Sie eine der folgenden Methoden, um eine Aktion im Makro nach oben oder unten zu verschieben:
-
Ziehen Sie die Aktion nach oben oder unten an die gewünschte Position.
-
Wählen Sie die Aktion aus, und drücken Sie dann STRG+NACH-OBEN-TASTE oder STRG+NACH-UNTEN-TASTE.
-
Wählen Sie die Aktion aus, und klicken Sie dann rechts im Makrobereich auf den Pfeil Nach oben oder Nach unten.
Löschen einer Aktion
So löschen Sie eine Makroaktion
-
Wählen Sie die Aktion aus, und drücken Sie dann die ENTF-TASTE. Alternativ können Sie auch auf die Schaltfläche Löschen (X) rechts im Makrobereich klicken.
Hinweise:
-
Beim Löschen eines Aktionsblocks, wie etwa eines Wenn-Blocks oder eines Gruppe-Blocks, werden zugleich alle Aktionen im Block gelöscht
-
Die Befehle Nach oben, Nach unten und Löschen stehen auch im Kontextmenü zur Verfügung, das beim Klicken mit der rechten Maustaste auf eine Makroaktion angezeigt wird.
-
Steuern des Programmablaufs mit "Wenn", "Sonst Wenn" und "Sonst"
Wenn Makroaktionen nur ausgeführt werden sollen, wenn bestimmte Bedingungen erfüllt sind, verwenden Sie einen Wenn-Block. Dies stellt den Ersatz für die Spalte Bedingung dar, die in früheren Versionen von Access verwendet wurde. Sie können einen Wenn-Block durch Sonst Wenn- und Sonst-Blöcke erweitern, ähnlich wie in anderen sequenziellen Programmiersprachen wie VBA.
Die folgende Abbildung zeigt einen einfachen Wenn-Block, einschließlich Sonst Wenn- und Sonst-Blöcken:
Der Wenn-Block wird ausgeführt, wenn der Wert des Felds "Ablaufdatum" kleiner als das aktuelle Datum ist.
Der Sonst Wenn-Block wird ausgeführt, wenn der Wert des Felds "Ablaufdatum" gleich dem aktuellen Datum ist.
Der Sonst-Block wird ausgeführt, wenn keiner der vorhergehenden Blöcke ausgeführt wird.
Die Wenn-Block endet hier.
Hinzufügen eines "Wenn"-Blocks zu einem Makro
-
Wählen Sie in der Dropdownliste Neue Aktion hinzufügen den Wert Wenn aus, oder ziehen Sie ihn aus dem Bereich "Aktionskatalog" in den Makrobereich.
-
Geben Sie im Feld oben im Wenn-Block einen Ausdruck ein, der bestimmt, wann der Block ausgeführt wird. Der Ausdruck muss boolesch sein (also entweder zu "Ja" oder "Nein" ausgewertet werden).
-
Fügen Sie dem Wenn-Block Aktionen hinzu, indem Sie sie aus der Dropdownliste Neue Aktion hinzufügen, die im Block angezeigt wird, auswählen oder sie aus dem Bereich "Aktionskatalog" in den Wenn-Block ziehen.
Hinzufügen von "Sonst"- oder "Sonst Wenn"-Blöcken zu einem Makro
-
Wählen Sie den Wenn -Block aus, und klicken Sie dann in der unteren rechten Ecke des Blocks auf Sonst hinzufügen oder Sonst Wenn hinzufügen.
-
Geben Sie beim Hinzufügen eines Sonst Wenn-Blocks einen Ausdruck ein, der bestimmt, wann der Block ausgeführt werden soll. Der Ausdruck muss boolesch sein (also entweder zu "Wahr" oder "Falsch" ausgewertet werden).
-
Fügen Sie dem Sonst Wenn- oder Sonst-Block Aktionen hinzu, indem Sie sie aus der Dropdownliste Neue Aktion hinzufügen, die im Block angezeigt wird, auswählen oder sie aus dem Bereich "Aktionskatalog" in den Block ziehen.
Hinweise:
-
Die Befehle zum Hinzufügen von Wenn-, Sonst Wenn- und Sonst-Blöcken stehen im Kontextmenü zur Verfügung, das beim Klicken mit der rechten Maustaste auf eine Makroaktion angezeigt wird.
-
Wenn-Blöcke können bis zu 10 Ebenen tief geschachtelt werden.
-
Erstellen von Untermakros
Jedes Makro kann mehrere Untermakros enthalten. Ein Untermakro wird so entworfen, dass es anhand des Namens aus den Makroaktionen AusführenMakro oder BeiFehler aufgerufen wird.
Ein Untermakro-Block wird einem Makro auf gleiche Weise wie eine Makroaktion hinzugefügt, wie es im Abschnitt Hinzufügen von Aktionen zu einem Makro beschrieben ist. Nach dem Hinzufügen eines Untermakro-Blocks können Makroaktionen dorthin gezogen oder Aktionen aus der im Block angezeigten Liste Neue Aktion hinzufügen ausgewählt werden.
Hinweise:
-
Ein Untermakro-Block kann außerdem durch Auswählen einer oder mehrerer Aktionen, anschließendes Klicken mit der rechten Maustaste und Auswählen von Untermakroblock erstellen erstellt werden.
-
Submacros müssen immer die letzten Blöcke in einem Makro sein. Sie können keine Aktionen (außer weiteren Untermakros) unter einem Untermakro hinzufügen. Wenn Sie ein Makro ausführen, das nur Submakros enthält, ohne das gewünschte Untermakro zu benennen, wird nur das erste Untermakro ausgeführt.
-
Um ein Untermakro aufzurufen (z. B. in einer Ereigniseigenschaft oder mithilfe der Aktion RunMacro oder OnError ), verwenden Sie die folgende Syntax:
macroname.submacroname
Gruppieren von verwandten Aktionen
Sie können die Lesbarkeit eines Makros verbessern, indem Sie Aktionen gruppieren und der Gruppe einen aussagekräftigen Namen zuweisen. Beispielsweise können Sie Aktionen zum Öffnen und Filtern eines Formulars in einer Gruppe mit dem Namen "Formular öffnen und filtern" zusammenfassen. Dadurch ist leichter ersichtlich, welche Aktionen in Beziehung zueinander stehen. Ein Block Gruppe wirkt sich nicht auf die Ausführung von Aktionen aus, und die Gruppe kann nicht einzeln aufgerufen oder ausgeführt werden. Ihr hauptsächlicher Zweck besteht darin, eine Gruppe von Aktionen zu benennen, damit das Makro beim Lesen leichter zu verstehen ist. Darüber hinaus lässt sich beim Bearbeiten eines umfangreichen Makros jeder Gruppenblock auf eine einzelne Zeile reduzieren, wodurch weniger gescrollt werden muss.
Wenn sich die zu gruppierenden Aktionen bereits im Makro befinden, verwenden Sie dieses Verfahren, um sie einem Block Gruppe hinzuzufügen:
-
Wählen Sie die zu gruppierenden Aktionen aus.
-
Klicken Sie mit der rechten Maustaste auf die ausgewählten Aktionen, und klicken Sie dann auf Gruppenblock erstellen.
-
Geben Sie im Feld oben im Block Gruppe einen Namen für die Gruppe ein.
Wenn die Aktionen noch nicht vorhanden sind:
-
Ziehen Sie den Block Gruppe aus dem Aktionskatalog in den Makrobereich.
-
Geben Sie im Feld oben im Block Gruppe einen Namen für die Gruppe ein.
-
Ziehen Sie Makroaktionen aus dem Aktionskatalog in den Block Gruppe, oder wählen Sie Aktionen aus der Liste Neue Aktion hinzufügen aus, die im Block angezeigt wird.
Gruppe-Blöcke können weitere Gruppe-Blöcke enthalten und bis zu 9 Ebenen tief geschachtelt sein.
Erweitern und Reduzieren von Makroaktionen oder Blöcken
Beim Erstellen eines neuen Makros zeigt der Makro-Generator Makroaktionen so an, dass alle Argumente sichtbar sind. Je nach Größe des Makros kann es sinnvoll sein, die Makroaktionen (und Aktionsblöcke) beim Bearbeiten des Makros insgesamt oder teilweise zu reduzieren. Dies ermöglicht einen besseren Gesamtüberblick über die Struktur des Makros. Die Aktionen können für die Bearbeitung insgesamt oder einzeln nach Bedarf erweitert werden.
Erweitern oder Reduzieren einer einzelnen Makroaktion oder eines Makroblocks
-
Klicken Sie links neben dem Makro- oder Blocknamen auf das Pluszeichen (+) oder minus (-). Alternativ können Sie die NACH-OBEN- und NACH-UNTEN-TASTE drücken, um eine Aktion oder einen Block auszuwählen, und dann die NACH-LINKS- oder NACH-RECHTS-TASTE drücken, um sie zu reduzieren oder zu erweitern.
Erweitern oder Reduzieren aller Makroaktionen (jedoch keiner Blöcke)
-
Klicken Sie auf der Registerkarte Entwurf in der Gruppe Reduzieren/Erweitern auf Aktionen erweitern oder Aktionen reduzieren.
Erweitern oder Reduzieren aller Makroaktionen und -blöcke
-
Klicken Sie auf der Registerkarte Entwurf in der Gruppe Reduzieren/Erweitern auf Alle erweitern oder Alle reduzieren.
Tipp: Sie können in eine reduzierte Aktion "spähen", indem Sie den Mauszeiger über die Aktion bewegen. Access zeigt dann die Aktionsargumente in einer QuickInfo an.
Kopieren und Einfügen von Makroaktionen
Wenn Sie Aktionen wiederholen müssen, die Sie bereits einem Makro hinzugefügt haben, können Sie die vorhandenen Aktionen kopieren und einfügen, ähnlich wie bei Textabschnitten in einem Textverarbeitungsprogramm. Beim Einfügen werden Aktionen unmittelbar unterhalb der aktuell ausgewählten Aktion platziert. Wenn ein Block ausgewählt ist, werden die Aktionen innerhalb des Blocks eingefügt.
Tipp: Zum schnellen Duplizieren ausgewählter Aktionen halten Sie die STRG-Taste gedrückt und ziehen die Aktionen an die Position im Makro, an die Sie sie kopieren möchten.
Freigeben eines Makros für andere
Wenn Makroaktionen in die Zwischenablage kopiert werden, können sie als XML-Code (Extensible Markup Language) in jede Anwendung eingefügt werden, die Texteingaben akzeptiert. Auf diese Weise können Sie ein Makro per E-Mail an einen Kollegen senden oder es in einem Diskussionsforum, in einem Blog oder auf einer anderen Website posten. Der Empfänger kann dann den XML-Code kopieren und in seinen Access Macro Builder einfügen. Das Makro wird genau so, wie Sie es geschrieben haben, neu erstellt.
Ausführen eines Makros
Ein Makro kann mit einer der folgenden Methoden ausgeführt werden:
-
Doppelklicken Sie im Navigationsbereich auf das Makro.
-
Rufen Sie das Makro mithilfe der Makroaktion AusführenMakro oder BeiFehler auf.
-
Geben Sie den Makronamen in einer Ereigniseigenschaft eines Objekts ein. Das Makro wird ausgeführt, wenn dieses Ereignis ausgelöst wird.
Debuggen eines Makros
Wenn bei der Ausführung eines Makros Probleme auftreten, stehen verschiedene Tools zur Verfügung, mit denen die Ursache des Problems ermittelt werden kann.
Hinzufügen von Aktionen zur Fehlerbehandlung zu einem Makro
Es wird empfohlen, jedem Makro beim Erstellen Aktionen zur Fehlerbehandlung hinzuzufügen und diese dauerhaft im Makro zu belassen. Wenn Sie diese Methode verwenden, zeigt Access beim Auftreten von Fehlern Beschreibungen an. Die Fehlerbeschreibungen helfen Ihnen, den Fehler zu verstehen, sodass das Problem schneller behoben werden kann.
Verwenden Sie das folgende Verfahren, um einem Makro ein Untermakro zur Fehlerbehandlung hinzuzufügen:
-
Öffnen Sie das Makro in der Entwurfsansicht.
-
Wählen Sie unten im Makro in der Dropdownliste Neue Aktion hinzufügen den Befehl Untermakro aus.
-
Geben Sie im Feld rechts neben dem Wort Untermakro einen Namen für das Untermakro ein, z. B. Fehlerhandler.
-
Wählen Sie in der Dropdownliste Neue Aktion hinzufügen, die innerhalb des Blocks Untermakro angezeigt wird, die Makroaktion Meldungsfeld aus.
-
Geben Sie im Feld Meldung den folgenden Text ein: =[Makrofehler].[Beschreibung]
-
Wählen Sie unten im Makro in der Dropdownliste Neue Aktion hinzufügen den Befehl BeiFehler aus.
-
Legen Sie das Argument Gehe zu auf Makroname fest.
-
Geben Sie im Feld Makroname den Namen des Untermakros zur Fehlerbehandlung (in diesem Beispiel Fehlerhandler) ein.
-
Ziehen Sie die Makroaktion BeiFehler an die oberste Position des Makros.
Die folgende Abbildung zeigt ein Makro mit der Aktion BeiFehler und ein Untermakro mit dem Namen Fehlerhandler.
Die Makroaktion BeiFehler ist ganz oben im Makro platziert und ruft im Fehlerfall das Untermakro Fehlerhandler auf.
Das Untermakro Fehlerhandler wird nur ausgeführt, wenn es von der Aktion BeiFehler aufgerufen wird, und zeigt ein Meldungsfeld mit einer Fehlerbeschreibung an.
Verwenden des Befehls "Einzelschritt"
"Einzelschritt" ist ein Debugmodus für Makros, mit dem Makroaktionen jeweils einzeln nacheinander ausgeführt werden können. Nach jeder ausgeführten Aktion wird ein Dialogfeld angezeigt, das Informationen zur Aktion und alle zurückgegebenen Fehlercodes enthält. Da im Dialogfeld "Einzelschritt" jedoch keine Beschreibung des Fehlers zur Verfügung steht, wird die im vorhergehenden Abschnitt beschriebene Methode mit einem Untermakro zur Fehlerbehandlung empfohlen.
So starten Sie den Einzelschrittmodus
-
Öffnen Sie das Makro in der Entwurfsansicht.
-
Klicken Sie auf der Registerkarte Entwurf in der Gruppe Tools auf Einzelschritt.
-
Speichern und schließen Sie das Makro.
Beim nächsten Ausführen des Makros wird das Dialogfeld Einzelschritt angezeigt. Das Dialogfeld zeigt zu jeder Aktion die folgenden Informationen an:
-
Makroname
-
Bedingung (für "Wenn"-Blöcke)
-
Aktionsname
-
Argumente
-
Fehlernummer (die Fehlernummer 0 bedeutet, dass keine Fehler aufgetreten sind)
Klicken Sie beim schrittweisen Durchlaufen der Aktionen auf eine der drei Schaltflächen im Dialogfeld:
-
Zum Anzeigen von Informationen zur nächsten Aktion im Makro klicken Sie auf Schritt.
-
Zum Beenden aller aktuell ausgeführten Makros klicken Sie auf Alle Makros anhalten. Der Einzelschrittmodus ist bei der nächsten Ausführung eines Makros immer noch aktiv.
-
Zum Beenden des Einzelschrittmodus und Fortsetzen der Makroausführung klicken Sie auf Weiter.
Hinweise:
-
Wenn Sie nach der letzten Aktion in einem Makro auf Schritt klicken, ist der Einzelschrittmodus bei der nächsten Ausführung eines Makros immer noch aktiv.
-
Zum Aufrufen des Einzelschrittmodus während der Makroausführung drücken Sie STRG+UNTBR.
-
Zum Aufrufen des Einzelschrittmodus an einem bestimmten Punkt im Makro fügen Sie an diesem Punkt die Makroaktion Einzelschritt hinzu.
-
Der Einzelschrittmodus ist in Webdatenbanken nicht verfügbar.
-
Konvertieren eines Makros in VBA-Code
Makros stellen eine Teilmenge der Befehle bereit, die in der Programmiersprache Visual Basic for Applications (VBA) verfügbar sind. Wenn Sie entscheiden, dass Sie mehr Funktionen benötigen, als Makros bieten können, können Sie ein eigenständiges Makroobjekt ganz einfach in VBA-Code konvertieren und dann den erweiterten Featuresatz nutzen, den VBA bereitstellt. Beachten Sie jedoch, dass VBA-Code nicht in einem Browser ausgeführt wird. Vba-Code, den Sie einer Webdatenbank hinzufügen, werden nur ausgeführt, wenn die Datenbank in Access geöffnet ist.
Hinweis: Eingebettete Makros können nicht in VBA-Code konvertiert werden.
So konvertieren Sie ein Makro in VBA-Code
-
Klicken Sie im Navigationsbereich mit der rechten Maustaste auf das Makroobjekt, und klicken Sie dann auf "Entwurfsansicht".
-
Klicken Sie auf der Registerkarte Entwurf in der Gruppe Tools auf Makros in Visual Basic konvertieren.
-
Geben Sie im Dialogfeld Makro konvertieren an, ob Sie dem VBA-Modul Code zur Fehlerbehandlung und Kommentare hinzufügen möchten, und klicken Sie dann auf Konvertieren.
Access bestätigt, dass das Makro konvertiert wurde, und öffnet den Visual Basic-Editor. Doppelklicken Sie im Projektbereich auf das konvertierte Makro, um das Modul anzuzeigen und zu bearbeiten.