window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-TCJTE9L38H');

Datenmakros I: Grundlagen

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Eine der interessantesten Neuerungen mit Access 2010 sind die Datenmakros. Damit können Sie sowohl endlich auch die üblichen Bearbeitungen und Zugriffe auf Tabellen durchführen (mit benannten Makros) als auch eine Art Ereignisse für Tabellen definieren, die beim Anlegen, ändern oder Löschen von Daten in Tabellen ausgelöst werden (Datenmakros). Dieser Artikel zeigt, wie Sie Datenmakros und benaanlegen und was es dabei zu beachten gibt.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1403_Daten-makros.mdb.

Einführung

Datenmakros kommen gleich in zwei Ausführungen: Die erste entspricht etwa den Triggern anderer Datenbanksysteme. Trigger werden durch änderungen an den Datensätzen einer Datenbank ausgelöst. Die zweite kann einfache Datenoperationen abbilden, wie Sie sie auch per VBA mit den Elementen der DAO-Bibliothek programmieren können – also etwa das Hinzufügen, ändern oder Löschen eines Datensatzes, aber auch das Auslesen von Feldinhalten eines zuvor ermittelten Datensatzes.

Ereignisse in Tabellen

Die folgenden Ereignisse in Zusammenhang mit der änderung von Datensätzen in Tabellen können Datenmakros auslösen (sofern diese definiert sind):

  • Nach dem Anlegen eines Datensatzes
  • Vor dem ändern eines oder mehrerer Felder eines Datensatzes
  • Nach dem ändern eines Datensatzes
  • Vor dem Löschen eines Datensatzes
  • Nach dem Löschen eines Datensatzes

Das Schöne an Datenmakros ist, dass diese immer ausgelöst werden, wenn die entsprechende änderung erfolgt – egal, wodurch die änderung geschieht.

Es gibt beispielsweise die folgenden Möglichkeiten, eine entsprechende änderung zu bewirken und dadurch ein Datenmakro auszulösen:

  • änderungen direkt in der Datenblattansicht der Tabelle
  • änderungen über die Datenblattansicht einer Abfrage
  • änderungen über die Eingabe in ein Formular
  • änderungen per DAO oder ADO
  • änderungen durch die direkte Ausführung einer Aktionsabfrage über den Navigationsbereich (INSERT INTO, UPDATE, DELETE, SELECT INTO)
  • änderung durch eine Aktionsabfrage, die per DoCmd.RunSQL oser per .Execute ausgelöst wurde

Der Artikel Datenmakros III: Ereignisse liefert einige Beispiele für den Einsatz von Ereignissen in Tabellen.

Benannte Makros

Die benannten Makros legen Sie immer in Zusammenhang mit einer Tabelle an. Diese müssen sich aber nicht auf die aktuelle Tabelle beziehen, sondern Sie können damit auch die Daten anderer Tabellen bearbeiten oder einlesen. Benannte Makros können Sie entweder von Datenmakros aus auslösen oder auch mit der Makroaktion AusführenDatenmakro von einem herkömmlichen Makro aus.

Auch die Ausführung per VBA ist möglich. Dazu rufen Sie einfach die Methode RunDataMacro des DoCmd-Objekts auf – beispielsweise wie folgt:

DoCmd.RunDataMacro "macDatenmakro"

Später erfahren Sie noch ein weiteres Detail hierzu – nämlich zur übergabe von Parametern.

Datenmakros anlegen

Datenmakros werden nicht wie herkömmliche Datenmakros über den Ribbon-Eintrag Erstellen|Makros und Code|Makros erstellt, sondern im Kontext der jeweiligen Tabelle. Dazu wählen Sie in der Entwurfsansicht den Ribbon-Eintrag Entwurf|Feld-, Da-ten-satz- und Ta-bel-len-er-eig-nis-se|Da-ten-makros erstellen und öffnen so eine Liste der verfügbaren Datenmakros sowie die Möglichkeit, ein benanntes Makro zu erstellen (siehe Bild 1).

Datenmakros über den Tabellenentwurf erstellen

Bild 1: Datenmakros über den Tabellenentwurf erstellen

Später werden Sie an dieser Stelle die Möglichkeit erhalten, bereits erstellte Datenmakros und benannte Makros zu bearbeiten.

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar