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

Aktionsabfragen per VBA ausführen

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

Aktionsabfragen lassen sich bequem mit der Entwurfsansicht für Abfragen zusammenstellen. Sie können damit Daten an Tabellen anfügen, bestehende Daten ändern oder löschen und sogar gleich die passende Tabelle zum Einfügen von Daten erstellen. Wie aber soll der Benutzer eine solche Abfrage aufrufen, ohne doppelt auf den entsprechenden Eintrag im Datenbankfenster oder im Navigationsbereich zu klicken Dieser Artikel zeigt, wie Sie dies realisieren.

Beispieldatenbank

Die Beispiele zu diesem Artikel finden Sie in der Datenbank 1105_AktionsabfragenPerVBA.mdb.

Aktionsabfragen

Wenn Sie eine Aktionsabfrage erstellen, gehen Sie wie in Aktionsabfragen – Teil II: Löschabfragen oder Aktionsabfragen – Teil I: Anfügeabfragen beschrieben vor. Weitere Artikel zu Aktualisierungsabfragen oder Tabellenerstellungsabfragen folgen in späteren Ausgaben.

Das Resultat beim Erstellen einer Aktualisierungsabfrage mit der Abfrageentwurfsansicht ist eine gespeicherte Abfrage. Diese führen Sie per Doppelklick auf den entsprechenden Eintrag im Datenbankfenster oder im Navigationsbereich aus.

Ein Beispiel hierfür ist die Löschabfrage aus Bild 1. Sie ist unter dem Namen qryArtikelLoeschen gespeichert und bildet die Grundlage für das folgende Beispiel.

Entwurfsansicht einer Abfrage zum Löschen des Artikels mit dem Wert 1 im Feld ArtikelID.

Bild 1: Entwurfsansicht einer Abfrage zum Löschen des Artikels mit dem Wert 1 im Feld ArtikelID.

Die Abfrage löscht genau einen Datensatz, und zwar den mit dem Wert 1 im Feld ArtikelID. Das gilt natürlich nur, wenn ein solcher Datensatz überhaupt vorhanden ist. Sonst bewirkt der Aufruf dieser Abfrage gar nichts.

Die Execute-Methode

Nun folgt der interessante Teil: Access bietet eine ganze Reihe von VBA-Objekten an, die wiederum praktische Methoden etwa für den Zugriff auf Daten offerieren. In unserem Fall geht es um das Objekt, dass die aktuelle Datenbank repräsentiert.

Es hat den Datentyp Database und wird als Objektvariable deklariert. Das alles ist für Einsteiger vielleicht noch etwas unverständlich – das ist aber kein Problem. Manche Dinge kann man zu Beginn einfach als gegeben hinnehmen. In diesem Fall geht es um die folgenden Codezeilen:

Dim db As Database
Set db = CurrentDb

Die erste Zeile deklariert db als Objektvariable des Typs Database, die zweite füllt diese Variable mit dem Wert der Funktion CurrentDb. CurrentDb wiederum liefert einen Verweis auf die aktuelle Datenbank.

Dank dieser beiden Zeilen können Sie nachfolgend über die Variable db bestimmte Aktionen mit der Datenbank durchführen.

In unserem Fall soll eine Aktionsabfrage durchgeführt werden, genau genommen eine Löschabfrage.

Der dazu benötigte Befehl des mit db referenzierten Objekts heißt Execute. Execute erwartet als Parameter zumindest eine Variable oder Zeichenkette, die folgendes enthält:

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