| | Produktinformationen Hilfe und Anleitungen Schulung Vorlagen Support und Feedback Technische Ressourcen Zusätzliche Ressourcen |
Grundlegende Informationen zu Makros in Access 2007
In diesem Artikel wird erläutert, was ein Makro ist und wie Makros Zeit sparen können, indem sie häufig ausgeführte Aufgaben automatisieren. Außerdem werden die Grundlagen für das Erstellen und Verwenden von Makros erklärt, und Sie erfahren, inwiefern Makros für Microsoft Office Access 2007 optimiert wurden.
Inhalt dieses Artikels
Was ist ein Makro?
Ein Makro ist ein Tool, mit dem Sie Aufgaben automatisieren und die Funktionalität in Formularen, Berichten und Steuerelementen erweitern können. Wenn Sie beispielsweise einem Formular eine Befehlsschaltfläche hinzufügen, ordnen Sie das OnClick-Ereignis der Schaltfläche einem Makro zu. Das Makro enthält die Befehle, die jedes Mal ausgeführt werden sollen, wenn auf die Schaltfläche geklickt wird.
Es kann hilfreich sein, sich Makros in Access als eine Art vereinfachte Programmiersprache vorzustellen, die Sie schreiben, indem Sie eine Liste auszuführender Aktionen (Aktion: Die grundlegende Komponente eines Makros; eine selbstständige Anweisung, die mit anderen Aktionen kombiniert werden kann, um Aufgaben zu automatisieren. Dies wird in anderen Makrosprachen manchmal als Befehl bezeichnet.) zusammenstellen. Beim Erstellen eines Makros wählen Sie die einzelnen Aktionen aus einer Dropdownliste aus und geben dann für jede Aktion die erforderlichen Informationen ein. Mit Makros können Sie die Funktionalität in Formularen, Berichten und Steuerelementen erweitern, ohne Code in einem Visual Basic für Applikationen (VBA: Eine Makrosprachenversion von Microsoft Visual Basic zum Programmieren von Microsoft Windows-basierten Anwendungen, die in verschiedenen Microsoft-Programmen enthalten ist.)-Modul (VBA) verfassen zu müssen. Makros stellen eine Untermenge der Befehle bereit, die in VBA verfügbar sind. Die meisten Benutzer finden es einfacher, ein Makro zu erstellen als VBA-Code zu verfassen.
Nehmen Sie einmal an, Sie möchten einen Bericht direkt aus einem Dateneingabeformular starten. Sie können dem Formular eine Schaltfläche hinzufügen und dann ein Makro erstellen, das den Bericht startet. Das Makro kann entweder ein eigenständiges Makro sein (d. h. ein separates Objekt in der Datenbank), das dann mit dem OnClick-Ereignis der Schaltfläche verbunden wird, oder das Makro kann direkt in das OnClick-Ereignis der Schaltfläche eingebettet werden, wobei es sich um ein neues Feature in Office Access 2007 handelt. In jedem Fall wird das Makro ausgeführt und der Bericht gestartet, wenn Sie auf die Schaltfläche klicken.
Sie erstellen ein Makro, indem Sie den Makro-Generator verwenden, der in der folgenden Abbildung gezeigt wird.

So zeigen Sie den Makro-Generator an:
- Klicken Sie auf der Registerkarte Erstellen in der Gruppe Andere auf Makro. Wenn dieser Befehl nicht verfügbar ist, klicken Sie auf den Pfeil unter entweder der Schaltfläche Modul oder der Schaltfläche Klassenmodul, und klicken Sie dann auf Makro.

Seitenanfang
Grundlegendes zu Makros
Der Begriff Makro bezieht sich oftmals auf eigenständige Makroobjekte (d. h. auf Objekte, die im Navigationsbereich unter Makros angezeigt werden), aber in Wirklichkeit kann ein Makroobjekt mehrere Makros enthalten. In diesem Fall wird es als eine Makrogruppe bezeichnet. Eine Makrogruppe wird im Navigationsbereich als einzelnes Makroobjekt angezeigt, obwohl sie mehrere Makros enthält. Natürlich kann jedes Makro in einem separaten Makroobjekt erstellt werden, aber es ist oft sinnvoll, mehrere verwandte Makros in einem einzelnen Makroobjekt zu gruppieren. Die einzelnen Makros werden über ihren Namen in der Spalte Makroname: identifiziert.
Ein Makro setzt sich aus einzelnen Aktionen zusammen. Die meisten Aktionen erfordern mindestens ein Argument. Darüber hinaus können Sie den einzelnen Makros in einer Makrogruppe Namen zuweisen, und Sie können Bedingungen hinzufügen, um die Ausführung der einzelnen Aktionen zu steuern. In den folgenden Abschnitten werden diese Features eingehender erläutert.
Makronamen
Wenn das Makroobjekt nur ein einziges Makro enthält, sind Makronamen unnötig. Sie können auf das Makro einfach über den Namen des Makroobjekts verweisen. Bei einer Makrogruppe müssen Sie jedoch jedem Makro einen eindeutigen Namen zuweisen. Wenn die Spalte Makroname im Makro-Generator nicht angezeigt wird, klicken Sie auf der Registerkarte Entwurf in der Gruppe Einblenden/Ausblenden auf Makronamen . Weitere Informationen zum Ausführen von Makros in Makrogruppen finden Sie weiter unten in diesem Artikel.
Argumente
Ein Argument ist ein Wert, der der Aktion Informationen zur Verfügung stellt, z. B. welche Zeichenfolge in einem Meldungsfeld angezeigt werden soll, welches Steuerelement bedient werden soll usw. Bestimmte Argumente sind erforderlich, andere sind optional. Argumente werden im Bereich Aktionsargumente unten im Makro-Generator angezeigt.

Ein neues Feature des Makro-Generators in Office Access 2007 ist die Spalte Argumente, in der Sie die Argumente einer Aktion in derselben Zeile wie die Aktion anzeigen, jedoch nicht bearbeiten können. Dies erleichtert das Lesen des Makros, da Sie nicht mehr jede Aktion auswählen müssen, um ihre Argumente anzuzeigen. Um die Spalte Argumente anzuzeigen, klicken Sie auf der Registerkarte Entwurf in der Gruppe Einblenden/Ausblenden auf Argumente .
Bedingungen
Eine Bedingung gibt bestimmte Kriterien an, die erfüllt werden müssen, bevor eine Aktion ausgeführt wird. Sie können jeden Ausdruck (Ausdruck: Eine beliebige Kombination aus mathematischen oder logischen Operatoren, Konstanten, Funktionen sowie Namen von Feldern, Steuerelementen und Eigenschaften, die einen einzigen Wert ergibt. Mithilfe von Ausdrücken können Berechnungen ausgeführt, Zeichen bearbeitet oder Daten getestet werden.) verwenden, der zu Wahr/Falsch oder Ja/Nein ausgewertet wird. Die Aktion wird nicht ausgeführt, wenn der Ausdruck zu Falsch, Nein oder 0 (Null) ausgewertet wird. Wird der Ausdruck zu einem anderen Wert ausgewertet, wird die Aktion ausgeführt.
Sie können festlegen, dass eine Bedingung mehrere Aktionen steuert, indem Sie für jede nachfolgende Aktion, auf die die Bedingung angewendet werden soll, Auslassungspunkte (...) in die Spalte Bedingung eingeben. Wenn der Ausdruck zu Falsch, Nein oder 0 (Null) ausgewertet wird, wird keine dieser Aktionen ausgeführt. Wird der Ausdruck zu einem anderen Wert ausgewertet, werden alle Aktionen ausgeführt.
Klicken Sie auf der Registerkarte Entwurf in der Gruppe Einblenden/Ausblenden auf Bedingungen , um die Spalte Bedingungen im Makro-Generator anzuzeigen.
| Zu verwendender Ausdruck |
Bedingung |
| [Ort]="Paris" |
Führt die Aktion aus, wenn Paris der Wert im Ort-Feld des Formulars ist, aus dem das Makro ausgeführt wird. |
| DomAnzahl ("[Bestell-Nr]"; "Bestellungen")>35 |
Führt die Aktion aus, wenn das Bestell-Nr-Feld in der Bestellungen-Tabelle mehr als 35 Einträge enthält. |
| DomAnzahl ("*"; "Bestelldetails"; "[Bestell-Nr]=Formulare![Bestellungen]![Bestell-Nr]")>3 |
Führt die Aktion aus, wenn im Bestell-Nr-Feld der Bestelldetails-Tabelle mehr als drei Einträge enthalten sind, für die es im Bestell-Nr-Feld im Bestellungen-Formular mehr als drei identische Einträge gibt. |
| [Versanddatum] Zwischen #02.02.06# Und #02.03.06# |
Führt die Aktion aus, wenn der Wert im Versanddatum-Feld in dem Formular, aus dem das Makro ausgeführt wird, nicht vor dem 02.02.06 und nicht nach dem 02.03.06 liegt. |
| Formulare![Artikel]![Lagerbestand]<5 |
Führt die Aktion aus, wenn der Wert im Lagerbestand-Feld im Artikel-Formular kleiner als fünf ist. |
| IstNull([Vorname]) |
Führt die Aktion aus, wenn der Wert im Vorname-Feld in dem Formular, aus dem das Makro ausgeführt wird, gleich Null (Null: Ein Wert, den Sie in ein Feld eingeben oder in Ausdrücken und Abfragen verwenden können, um anzuzeigen, dass Daten fehlen oder unbekannt sind. In Visual Basic kennzeichnet das Schlüsselwort "Null" einen Null-Wert. Einige Felder, beispielsweise Primärschlüsselfelder, können keine Null-Werte enthalten.) ist (d. h. wenn das Feld keinen Wert enthält). Dieser Ausdruck ist identisch mit dem Ausdruck [Vorname] IstNull. |
| [Land/Region]="D" Und Formulare![Gesamtverkäufe)]![Gesamtbestellungen]>100 |
Führt die Aktion aus, wenn der Wert im Land/Region-Feld in dem Formular, aus dem das Makro ausgeführt wird, gleich D und der Wert im Gesamtbestellungen-Feld im Gesamtverkäufe-Formular größer als 100 ist. |
| [Land/Region] In ("Frankreich"; "Italien"; "Spanien") Und Länge([PLZ])<>5 |
Führt die Aktion aus, wenn der Wert im Land/Region-Feld des Formulars, aus dem das Makro ausgeführt wird, entweder Frankreich, Italien oder Spanien lautet und der Wert im PLZ-Feld nicht 5 Zeichen lang ist. |
| Meldung("Änderungen bestätigen?";1)=1 |
Führt die Aktion aus, wenn Sie in einem Dialogfeld, in dem die Meldung-Funktion die Frage "Änderungen bestätigen?" anzeigt, auf OK klicken. Wenn Sie im Dialogfeld auf Abbrechen klicken, ignoriert Access die Aktion. |
| [TempVars]![MeldungErgebnis]=2 |
Die Aktion wird ausgeführt, wenn die temporäre Variable, die zum Speichern des Ergebnisses eines Meldungsfelds verwendet wird, gleich 2 ist (vbCancel=2). |
Tipp Wenn Sie möchten, dass Access eine Aktion vorübergehend überspringt, geben Sie eine Falsch-Bedingung ein. Das vorübergehende Überspringen einer Aktion kann bei der Problembehandlung eines Makros hilfreich sein.
Makroaktionen
Aktionen bilden die Grundbausteine von Makros. Access stellt eine große Anzahl von Aktionen zur Auswahl bereit, wodurch eine Vielzahl von Befehlen aktiviert werden kann. Zu den häufiger verwendeten Aktionen gehören z. B. das Öffnen eines Berichts, das Suchen eines Datensatzes, das Anzeigen eines Meldungsfelds und das Anwenden eines Filters auf ein Formular oder auf einen Bericht.
Seitenanfang
Neue Makrofunktionen in Office Access 2007
In früheren Versionen von Access konnten viele der häufig verwendeten Funktionen nur mithilfe von VBA-Code ausgeführt werden. In Office Access 2007 wurden neue Features und Makroaktionen hinzugefügt, und Code ist immer seltener erforderlich. Auf diese Weise kann die Datenbankfunktionalität leichter erweitert und die Sicherheit erhöht werden.
- Eingebettete Makros Sie können nun Makros in jedes Ereignis einbetten, das in einem Formular, Bericht oder Steuerelement bereitgestellt wird. Ein eingebettetes Makro wird im Navigationsbereich nicht angezeigt. Es wird zu einem Bestandteil des Formulars, Berichts oder Steuerelements, in dem es erstellt wurde. Wenn Sie eine Kopie eines Formulars, Berichts oder Steuerelements mit eingebetteten Makros erstellen, sind diese Makros auch in der Kopie vorhanden.
- Erhöhte Sicherheit Wenn die Schaltfläche Alle Aktionen anzeigen
nicht im Makro-Generator hervorgehoben ist, können nur die Makroaktionen und AusführenBefehl-Argumente verwendet werden, die ausgeführt werden können, ohne als vertrauenswürdig eingestuft zu werden. Ein mit diesen Aktionen erstelltes Makro wird selbst dann ausgeführt, wenn die Datenbank deaktiviert ist (d. h. wenn die Ausführung von VBA verhindert wird). Allen Datenbanken mit Makroaktionen, die nicht in der Liste vertrauenswürdiger Aktionen aufgeführt sind (oder Datenbanken mit VBA-Code), muss der vertrauenswürdige Status explizit erteilt werden.
- Fehlerbehandlung und Debuggen Office Access 2007 stellt neue Makroaktionen bereit, z. B. BeiFehler (ähnlich der VBA-Anweisung Bei Fehler) und ClearMacroError, mit denen Sie bestimmte Aktionen ausführen können, wenn beim Ausführen des Makros Fehler auftreten. Darüber hinaus ermöglicht es die neue MakroEinzelschritt-Makroaktion, an jeder beliebigen Stelle im Makro in den Einzelschrittmodus zu wechseln, sodass Sie die einzelnen Aktionen nacheinander anzeigen können, um die Funktionsweise des Makros zu beobachten.
- Temporäre Variablen Mit den drei neuen Makroaktionen FestlegenTempVar, EntfernenTempVar und EntfernenAlleTempVar können Sie temporäre Variablen in Makros erstellen und verwenden. Sie können sie verwenden, um in Bedingungsausdrücken die Makroausführung zu steuern oder um Daten an Berichte und Formulare zu übergeben. Sie können diese temporären Variablen auch zu jedem anderen Zweck verwenden, bei dem ein Wert temporär gespeichert werden muss. Auf diese temporären Variablen kann auch in VBA zugegriffen werden, sodass Sie sie für die Datenübermittlung zwischen VBA-Modulen verwenden können.
Seitenanfang
Erstellen eines Makros
Ein Makro oder eine Makrogruppe kann in einem Makroobjekt (manchmal auch eigenständiges Makro genannt) in Office Access 2007 enthalten sein. Ein Makro kann aber auch in eine Ereigniseigenschaft eines Formulars, Berichts oder Steuerelements eingebettet sein. Eingebettete Makros werden zum Bestandteil des Objekts oder des Steuerelements, in das sie eingebettet sind. Eigenständige Makros werden im Navigationsbereich unter Makros angezeigt, eingebettete Makros hingegen nicht. Features des Makro-Generators
Der Makro-Generator wird zum Erstellen und Bearbeiten von Makros verwendet. So öffnen Sie den Makro-Generator:
Mit dem Makro-Generator wird die Liste der Aktionen erstellt, die beim Ausführen des Makros ablaufen sollen. Wenn Sie den Makro-Generator zum ersten Mal öffnen, werden die Spalten Aktion, Argumente und Kommentar angezeigt.
Unter Aktionsargumente werden nach Bedarf Argumente für die einzelnen Makroaktionen eingegeben und bearbeitet. Es wird ein Beschreibungsfeld angezeigt, das jeweils eine kurze Beschreibung der einzelnen Aktionen und Argumente enthält. Klicken Sie auf eine Aktion oder auf ein Aktionsargument, um die entsprechende Beschreibung anzuzeigen.
Die folgende Tabelle enthält die Befehle, die auf der Registerkarte Entwurf des Makro-Generators zur Verfügung stehen.
| Gruppe |
Befehl |
Beschreibung |
| Tools |
Ausführen |
Führt die im Makro enthaltenen Aktionen aus. |
|
Einzelschritt |
Aktiviert den Einzelschrittmodus. Wenn Sie das Makro in diesem Modus ausführen, wird jeweils nur eine Aktion ausgeführt. Wenn die Aktion abgeschlossen ist, wird das Dialogfeld Einzelschritt angezeigt. Klicken Sie in diesem Dialogfeld auf Schritt, um mit der nächsten Aktion fortzufahren. Klicken Sie auf Alle Makros anhalten, um dieses Makro sowie andere ggf. ausgeführte Makros anzuhalten. Klicken Sie auf Weiter, um den Einzelschrittmodus zu beenden und die restlichen Aktionen ohne Unterbrechung auszuführen. |
|
Generator |
Diese Schaltfläche ist aktiviert, wenn Sie ein Aktionsargument eingeben, das einen Ausdruck enthalten kann. Klicken Sie auf Generator, um das Dialogfeld Ausdrucks-Generator zu öffnen, in dem Sie den Ausdruck erstellen können.
|
| Zeilen |
Zeilen einfügen |
Fügt oberhalb der markierten Zeile(n) eine oder mehrere leere Aktionszeilen ein. |
|
Zeilen löschen |
Löscht die markierte(n) Aktionszeile(n).
|
| Einblenden/Ausblenden |
Alle Aktionen anzeigen |
Zeigt weitere bzw. weniger Makroaktionen in der Dropdownliste Aktion an.
|
|
Makronamen |
Blendet die Spalte Makroname ein bzw. blendet sie aus. In Makrogruppen sind Makronamen erforderlich, um die einzelnen Makros voneinander zu unterscheiden, doch im Allgemeinen sind Makronamen optional. Weitere Informationen finden Sie unter Erstellen einer Makrogruppe weiter unten in diesem Artikel. |
|
Bedingungen |
Zeigt die Spalte Bedingung an bzw. blendet sie aus. Diese Spalte wird zum Eingeben von Ausdrücken verwendet, die steuern, wann eine Aktion ausgeführt wird. |
|
Argumente |
Zeigt die Spalte Argumente an bzw. blendet sie aus. In dieser Spalte werden die Argumente der einzelnen Makroaktionen angezeigt, was das vollständige Lesen des Makros vereinfacht. Wenn die Spalte Argumente nicht angezeigt wird, müssen Sie auf die einzelnen Aktionen klicken, um die Argumente unter Aktionsargumente zu lesen. In die Spalte Argumente können keine Argumente eingegeben werden. |
Erstellen eines eigenständigen Makros
- Klicken Sie auf der Registerkarte Erstellen in der Gruppe Andere auf Makro. Wenn dieser Befehl nicht verfügbar ist, klicken Sie auf den Pfeil unter entweder der Schaltfläche Modul oder der Schaltfläche Klassenmodul, und klicken Sie dann auf Makro.
 Der Makro-Generator wird angezeigt.
- Fügen Sie dem Makro eine Aktion hinzu:
- Klicken Sie im Makro-Generator in der Spalte Aktion auf die erste leere Zelle.
- Geben Sie die Aktion ein, die verwendet werden soll, oder klicken Sie auf den Pfeil, um die Aktionsliste (Aktionsliste: Die Liste wird angezeigt, wenn Sie in der Spalte "Aktion" des Makrofensters auf den Pfeil klicken.) anzuzeigen und dann die gewünschte Aktion auszuwählen.
- Geben Sie unter Aktionsargumente ggf. Argumente für die Aktion an. Wenn eine kurze Beschreibung der einzelnen Argumente angezeigt werden soll, klicken Sie in das Argumentfeld. Die Beschreibung wird rechts vom Argument angezeigt.
Tipps
- Wenn es sich bei den Einstellungen der Aktionsargumente (Aktionsargument: Zusätzliche Informationen, die für einige Makroaktionen erforderlich sind. Beispielsweise das durch die Aktion betroffene Objekt oder besondere Bedingungen, unter denen die Aktion ausgeführt wird.) um den Namen eines Datenbankobjekts (Datenbankobjekte: Eine Access-Datenbank enthält Objekte wie Tabellen, Abfragen, Formulare, Berichte, Seiten, Makros und Module. Ein Access-Projekt enthält Objekte wie Formulare, Berichte, Seiten, Makros und Module.) handelt, können Sie das Argument festlegen, indem Sie das Objekt aus dem Navigationsbereich in das Feld Objektname der Aktion ziehen.
- Sie können eine Aktion auch erstellen, indem Sie ein Datenbankobjekt aus dem Navigationsbereich auf eine leere Zeile im Makro-Generator ziehen. Wenn Sie Tabellen, Abfragen, Formulare, Berichte oder Module auf den Makro-Generator ziehen, wird eine Aktion, mit der die Tabelle, die Abfrage, das Formular oder der Bericht geöffnet wird, in Access hinzugefügt. Wenn Sie ein Makro auf den Makro-Generator ziehen, fügt Access eine Aktion hinzu, die das Makro ausführt.
- Geben Sie wahlweise einen Kommentar für die Aktion ein.
- Wenn Sie dem Makro weitere Aktionen hinzufügen möchten, wechseln Sie zu einer anderen Aktionszeile (Aktionszeile: Eine Zeile im oberen Abschnitt des Makrofensters, in der Sie Makronamen, Aktionen, Bedingungen und Kommentare eingeben, die mit einem bestimmten Makro oder einer Makrogruppe verbunden sind.), und wiederholen Sie Schritt 2. Access führt die Aktionen in der Reihenfolge aus, in der Sie sie angegeben haben.
Seitenanfang
Erstellen einer Makrogruppe
Sie können eine Makrogruppe erstellen, um mehrere verwandte Makros in einem Makroobjekt zu gruppieren.
- Klicken Sie auf der Registerkarte Erstellen in der Gruppe Andere auf Makro. Wenn dieser Befehl nicht verfügbar ist, klicken Sie auf den Pfeil unter entweder der Schaltfläche Modul oder der Schaltfläche Klassenmodul, und klicken Sie dann auf Makro.
 Der Makro-Generator wird angezeigt.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Einblenden/Ausblenden ggf. auf Makronamen
. Im Makro-Generator wird die Spalte Makroname angezeigt. Hinweis In Makrogruppen sind Makronamen erforderlich, um die einzelnen Makros zu identifizieren. Der Makroname wird in derselben Zeile wie die erste Aktion des Makros angezeigt. Die Spalte Makroname wird für nachfolgende Makroaktionen leer gelassen. Das Makro endet mit dem nächsten Eintrag in der Spalte Makroname.
- Geben Sie in der Spalte Makroname einen Namen für das erste Makro in der Gruppe ein.
- Fügen Sie die Aktionen hinzu, die vom ersten Makro ausgeführt werden sollen:
- Klicken Sie in der Spalte Aktion auf den Pfeil, um die Aktionsliste anzuzeigen.
- Klicken Sie auf die Aktion, die hinzugefügt werden soll.
- Geben Sie unter Aktionsargumente ggf. Argumente für die Aktion an. Wenn eine kurze Beschreibung der einzelnen Argumente angezeigt werden soll, klicken Sie in das Argumentfeld. Die Beschreibung wird rechts vom Argument angezeigt.
Tipps
- Wenn es sich bei den Einstellungen der Aktionsargumente um den Namen eines Datenbankobjekts handelt, können Sie das Argument festlegen, indem Sie das Objekt aus dem Navigationsbereich in das Feld Objektname der Aktion ziehen.
- Sie können eine Aktion auch erstellen, indem Sie ein Datenbankobjekt aus dem Navigationsbereich auf eine leere Zeile im Makro-Generator ziehen. Wenn Sie Tabellen, Abfragen, Formulare, Berichte oder Module auf den Makro-Generator ziehen, wird eine Aktion, mit der die Tabelle, die Abfrage, das Formular oder der Bericht geöffnet wird, in Access hinzugefügt. Wenn Sie ein Makro auf den Makro-Generator ziehen, fügt Access eine Aktion hinzu, die das Makro ausführt.
- Geben Sie wahlweise einen Kommentar für die Aktion ein.
- Wechseln Sie zur Spalte Makroname in der nächsten leeren Zeile, und geben Sie dann einen Namen für das nächste Makro in der Makrogruppe ein.
- Fügen Sie die Aktionen hinzu, die vom Makro ausgeführt werden sollen.
- Wiederholen Sie die Schritte 5 und 6 für jedes Makro in der Gruppe.
Hinweise
-
Wenn Sie eine Makrogruppe ausführen, indem Sie im Navigationsbereich auf die Gruppe doppelklicken oder indem Sie auf der Registerkarte Entwurf in der Gruppe Tools auf Makro ausführen klicken, führt Access nur das erste Makro aus und hält an, wenn der zweite Makroname erreicht ist.
-
Der Name, den Sie beim Speichern der Makrogruppe angeben, gilt für die gesamte Makrogruppe. Dieser Name wird im Navigationsbereich unter Makros angezeigt. Wenn Sie auf ein einzelnes Makro in einer Makrogruppe verweisen möchten, verwenden Sie die folgende Syntax:
Makrogruppenname.Makroname
Der Name Schaltflächen.Artikel verweist z. B. auf das Makro Artikel aus der Makrogruppe Schaltflächen. In einer Liste von Makros, wie der Argumentliste für Makronamen für die AusführenMakro-Aktion zeigt Access das Makro Artikel unter dem Namen Schaltflächen.Artikel an.
Seitenanfang
Erstellen eines eingebetteten Makros
Der Unterschied zwischen eingebetteten und eigenständigen Makros besteht darin, dass eingebettete Makros in den Ereigniseigenschaften von Formularen, Berichten oder Steuerelementen gespeichert sind. Sie werden nicht als Objekte unter Makros im Navigationsbereich angezeigt. Dies kann die Datenbankverwaltung vereinfachen, da Sie keine separaten Makroobjekte nachverfolgen müssen, die Makros für ein Formular oder einen Bericht enthalten. Führen Sie folgendes Verfahren aus, um ein eingebettetes Makro zu erstellen.
Hinweis Eingebettete Makros können nicht mithilfe des Tools Makros zu Visual Basic konvertieren in der Gruppe Makro auf der Registerkarte Datenbanktools in Visual Basic für Applikationen (VBA) konvertiert werden. Wenn Sie beabsichtigen, die Makros später in VBA-Code zu konvertieren, sollten Sie eigenständige Makros anstelle von eingebetteten Makros verwenden. Dann können Sie sie mithilfe des Tools Makros zu Visual Basic konvertieren in VBA konvertieren.
- Öffnen Sie das Formular oder den Bericht mit dem Makro entweder in der Entwurfs- oder in der Layoutansicht. Klicken Sie zum Öffnen eines Formulars bzw. eines Berichts im Navigationsbereich mit der rechten Maustaste auf das Formular oder den Bericht, und klicken Sie dann auf Entwurfsansicht
oder auf Layoutansicht .
- Drücken Sie F4, um es anzuzeigen, wenn das Eigenschaftenblatt nicht bereits angezeigt wird.
- Klicken Sie auf das Steuerelement oder den Bereich mit der Ereigniseigenschaft, in die das Makro eingebettet werden soll.
Klicken Sie oben im Eigenschaftenblatt auf die Dropdownliste Bericht, um das ganze Formular bzw. den ganzen Bericht auszuwählen.
- Klicken Sie im Eigenschaftenblatt auf die Registerkarte Ereignis.
- Klicken Sie auf die Ereigniseigenschaft, in die Sie das Makro einbetten möchten, und klicken Sie dann neben dem Feld auf
.
- Klicken Sie im Dialogfeld Generator auswählen auf Makro-Generator, und klicken Sie dann auf OK.
- Klicken Sie im Makro-Generator auf die erste Zeile der Spalte Aktion.
- Klicken Sie in der Dropdownliste Aktion auf die gewünschte Aktion.
- Geben Sie alle erforderlichen Argumente in den Bereich Aktionsargumente ein, und wechseln Sie dann zur nächsten Aktionszeile.
- Wiederholen Sie die Schritte 8 und 9, bis das Makro abgeschlossen ist.
- Klicken Sie auf Speichern
und dann auf Schließen .
Das Makro wird jedes Mal ausgeführt, wenn das Ereignis ausgelöst wird. Hinweis In Access können Sie eine Makrogruppe als eingebettetes Makro erstellen. Allerdings wird beim Auslösen des Ereignisses nur das erste Makro der Gruppe ausgeführt. Nachfolgende Makros werden ignoriert, es sei denn, sie werden von dem eingebetteten Makro aus aufgerufen (z. B. von der BeiFehler-Aktion).
Beispiel: Einbetten eines Makros in das "On No Data"-Ereignis eines Berichts
Wenn Sie einen Bericht ausführen, dessen Datenquelle keine Einträge enthält, zeigt der Bericht eine leere Seite an, d. h. eine Seite ohne Daten. Möglicherweise würden Sie stattdessen ein Meldungsfeld bevorzugen und den Bericht lieber nicht anzeigen. In dieser Situation bietet sich ein eingebettetes Makro an.
- Öffnen Sie den Bericht in der Entwurfs- oder Layoutansicht.
- Drücken Sie F4, um es anzuzeigen, wenn das Eigenschaftenblatt nicht bereits angezeigt wird.
- Klicken Sie im Eigenschaftenfenster auf die Registerkarte Ereignis.
- Klicken Sie auf Bei Ohne Daten.
- Klicken Sie auf
.
- Klicken Sie im Dialogfeld Generator auswählen auf Makro-Generator, und klicken Sie dann auf OK.
- Geben Sie die Aktionen und Argumente aus der folgenden Tabelle ein.
| Aktion |
Argumente |
| Meldung |
Keine Datensätze gefunden, Ja, Informationen, Keine Daten |
| AbbrechenEreignis |
[Keine Argumente] |
Beachten Sie, dass die Argumente in der vorhergehenden Tabelle so angezeigt werden, wie sie in der Spalte Argumente zu sehen sind. Sie werden jedoch in Wirklichkeit unter Aktionsargumente wie in der folgenden Tabelle beschrieben eingegeben.
| Aktionsargument |
Wert |
| Meldung |
Keine Datensätze gefunden |
| Signalton |
Ja |
| Typ |
Informationen |
| Titel |
Keine Daten |
- Klicken Sie auf Schließen.
Der Makro-Generator wird geschlossen, und das On No Data-Ereignis zeigt [Eingebettetes Makro] an.
- Speichern und schließen Sie den Bericht.
Wenn der Bericht das nächste Mal ausgeführt wird, ohne dass Datensätze gefunden werden, wird das Meldungsfeld angezeigt. Wenn Sie im Meldungsfeld auf OK klicken, wird der Bericht abgebrochen, ohne die leere Seite anzuzeigen.
Seitenanfang
Bearbeiten eines Makros
- So fügen Sie eine Aktionszeile ein Klicken Sie auf die Makrozeile, über der die neue Aktion eingefügt werden soll, und klicken Sie dann auf der Registerkarte Entwurf in der Gruppe Zeilen auf Zeilen einfügen
.
- So löschen Sie eine Aktionszeile Klicken Sie auf die zu löschende Aktionszeile, und klicken Sie dann auf der Registerkarte Entwurf in der Gruppe Zeilen auf Zeilen löschen
.
- So verschieben Sie eine Aktionszeile Markieren Sie die Aktion, indem Sie auf die Zeilenauswahl links vom Aktionsnamen klicken. Ziehen Sie die Aktion mithilfe der Zeilenauswahl an eine andere Stelle.
Seitenanfang
Weitere Informationen zu Makroaktionen
Während Sie im Makro-Generator arbeiten, erhalten Sie weitere Informationen zu einer Aktion oder zu einem Argument, indem Sie darauf klicken. Im Feld in der rechten unteren Ecke des Makro-Generator-Fensters wird dann eine Beschreibung angezeigt. Außerdem ist jeder Makroaktion ein Hilfeartikel zugewiesen. Weitere Informationen zu einer Aktion erhalten Sie, indem Sie in der Aktionsliste auf die Aktion klicken und dann F1 drücken.
Seitenanfang
Ausführen eines Makros
Eigenständige Makros können folgendermaßen ausgeführt werden: direkt (z. B. aus dem Navigationsbereich), in einer Makrogruppe, von einem anderen Makro aus, von einem VBA-Modul aus oder als Reaktion auf ein Ereignis, das in einem Formular, Bericht oder Steuerelement auftritt. Ein Makro, das in ein Formular, einen Bericht oder ein Steuerelement eingebettet ist, kann ausgeführt werden, indem Sie auf der Registerkarte Entwurf auf Ausführen klicken, während sich das Makro in der Entwurfsansicht befindet. Andernfalls wird das Makro nur ausgeführt, wenn das ihm zugeordnete Ereignis ausgelöst wird.
Direktes Ausführen eines Makros
Sie haben folgende Möglichkeiten, ein Makro direkt auszuführen:
- Wechseln Sie im Navigationsbereich zum Makro, und doppelklicken Sie dann auf den Makronamen.
- Klicken Sie auf der Registerkarte Datenbanktools in der Gruppe Makro auf Makro ausführen
. Klicken Sie in der Liste Makroname auf das Makro und dann auf OK.
- Wenn das Makro in der Entwurfsansicht geöffnet ist, klicken Sie auf der Registerkarte Entwurf in der Gruppe Tools auf Ausführen
. Klicken Sie im Navigationsbereich mit der rechten Maustaste auf das Makro, und klicken Sie dann auf Entwurfsansicht , um das Makro in der Entwurfsansicht zu öffnen.
Ausführen eines Makros in einer Makrogruppe
Sie können ein Makro, das sich in einer Makrogruppe befindet, auf folgende Arten ausführen:
Ausführen eines Makros aus einem anderen Makro oder aus einer VBA-Prozedur
Fügen Sie dem Makro oder der Prozedur die AusführenMakro-Aktion hinzu.
Ausführen eines Makros oder einer Ereignisprozedur als Reaktion auf ein Ereignis in einem Formular, Bericht oder Steuerelement
Obwohl Sie nun Makros direkt in die Ereigniseigenschaften von Formularen, Berichten und Steuerelementen einbetten können, haben Sie auch die Möglichkeit, eigenständige Makros zu erstellen und diese dann an Ereignisse zu binden. Auf diese Weise werden Makros in früheren Versionen von Access verwendet.
- Nachdem Sie das eigenständige Makro erstellt haben, öffnen Sie das Formular oder den Bericht in der Entwurfs- oder Layoutansicht.
- Öffnen Sie das Eigenschaftenblatt für das Formular oder den Bericht oder aber für einen Bereich oder ein Steuerelement im Formular oder Bericht.
- Klicken Sie auf die Registerkarte Ereignis.
- Klicken Sie auf die Ereigniseigenschaft für das Ereignis, das das Makro starten soll. Wenn das Makro z. B. durch das Change-Ereignis gestartet werden soll, klicken Sie auf die Bei Änderung-Eigenschaft.
- Klicken Sie in der Dropdownliste auf den Namen des eigenständigen Makros.
- Speichern Sie das Formular bzw. den Bericht.
Seitenanfang
|