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

Datenmakros II: Datenoperationen

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

Datenmakros und benannte Makros liefern vor allem die interessante Möglichkeit, grundlegende Datenoperationen durchzuführen – also beispielsweise das Anlegen neuer Datensätze, das Bearbeiten oder Löschen vorhandener Datensätze, das Durchlaufen von Datensatzgruppen oder das Auffinden bestimmter Datensätze. Prinzipiell bilden Sie damit die Basisoperationen der DAO-Bibliothek auf Makro-Ebene ab. Dieser Artikel stellt die Datenoperationen im Detail vor.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1402_Makros.mdb.

Datenoperationen

Die neuen Datenmakros sollen es vor allem ermöglichen, endlich auch per Makro einfache Datenoperationen auszuführen – also etwa einen neuen Datensatz anzulegen, vorhandene Datensätze zu ändern und zu löschen oder auch einfach auf die Felder eines Datensatzes zuzugreifen.

Diese Operationen bilden Sie typischerweise unter VBA ab – und zwar mit dem Recordset-Objekt und Befehlen wie AddNew, Edit, Update oder FindFirst.

Zu Testzwecken haben wir eine kleine Tabelle namens tblKunden angelegt, die allerdings nur das Primärschlüsselfeld KundeID, das Fremdschlüsselfeld AnredeID sowie die beiden Textfelder Vorname und Nachname enthält (siehe Bild 1).

Beispieltabelle für Testzwecke

Bild 1: Beispieltabelle für Testzwecke

Wenn Sie nun beispielsweise einen neuen Datensatz in der Tabelle anlegen möchten, benötigen Sie ein benanntes Makro für diese Tabelle. Dieses legen Sie bei in der Datenblattansicht geöffneter Tabelle über den Ribbonbefehl Ta-bel-le|Be-nannte Makros|Be-nanntes Ma-kro|Be-nanntes Makro erstellen an.

In diesem Makro fügen Sie nun zunächst den Befehl Datensatz erstellen in ein und wählen die Tabelle tblKunden als Ziel der Aktion aus.

Dieser Aktion können Sie weitere Befehle unterordnen, und zwar Gruppieren, Kommentar, Wenn, AbbrechenDatensatzänderung, FestlegenFeld und FestlegenLokaleVar.

In diesem Fall wollen wir die drei Felder AnredeID, Vorname und Nachname mit den entsprechenden Werten füllen. Dies erledigen wir, indem wir drei Mal die Makroaktion FestlegenFeld hinzufügen, unter Name das Zielfeld auswählen und unter Wert den einzutragenden Wert angeben (siehe Bild 2).

Datenmakro zum Anlegen eines neuen Datensatzes in der Tabelle tblKunden

Bild 2: Datenmakro zum Anlegen eines neuen Datensatzes in der Tabelle tblKunden

Dabei ist zu beachten, dass Sie Literale in Anführungszeichen einfassen. Anderenfalls sucht Access nach einem entsprechenden Ausdruck und löst einen Fehler aus.

Dieses Makro soll nun also einen Datensatz zur Tabelle tblKunden hinzufügen. Aber wie rufen wir das Makro auf Dazu benötigen wir ein weiteres Makro, dem wir die Makroaktion AusführenDatenmakro zuweisen. Diese erwartet als Parameter den Namen des aufzurufenden Datenmakros mit führendem Tabellennamen, also hier tblKunden.dmkKundeAnlegen (siehe Bild 3). Ein erster Testaufruf des Makros makKundeAnlegen bringt das gewünschte Ergebnis – der Datensatz wird angelegt.

Dieses Makro ruft das Datenmakro zum Anlegen eines Kundendatensatzes auf.

Bild 3: Dieses Makro ruft das Datenmakro zum Anlegen eines Kundendatensatzes auf.

Datenmakro mit Parametern

Als Nächstes wollen wir das doch recht statische Makro etwas dynamischer gestalten – und zwar, indem wir die in die Tabelle tblKunden einzufügenden Werte per Parameter übergeben.

Dazu erstellen wir ein weiteres benanntes Makro für die Tabelle tblKunden. Diesmal klicken wir jedoch zunächst drei Mal auf den Text Parameter erstellen oben rechts im Makro-Entwurf und erzeugen so drei Zeilen zur Eingabe von Parametern. Diese nennen wir prmAnredeID, prmVorname und prmNachname.

Nun fügen Sie wieder die Makroaktion Datensatz erstellen in hinzu, legen die Tabelle tblKunden als Ziel fest und tragen unterhalb dieser Makroaktion drei Mal den Befehl FestlegenFeld ein. Die Feldnamen lauten wieder wie im vorherigen Beispiel. Allerdings geben wir diesmal nicht direkt die einzufügenden Werte an, sondern die Namen der weiter oben definierten Parameter – also etwa den Parameter prmAnredeID für das Feld AnredeID. Die Parameter lassen sich bequem per IntelliSense aus der Liste der verfügbaren Elemente auswählen (siehe Bild 4).

Benanntes Makro mit Parametern

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