Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 5/2005.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Zusammenfassung

Sie erfahren, wie Sie Aktionsabfragen zum Ändern, Löschen oder Hinzufügen von Daten
in neue oder bestehende Tabellen verwenden.

Techniken

Abfragen, Aktionsabfragen, SQL, VBA

Voraussetzungen

Access 2000 oder höher

Beispieldateien

AktionsabfragenMitSQL97.mdb, AktionsabfragenMitSQL00.mdb

Aktionsabfragen mit SQL

André Minhorst, Duisburg

Das Bearbeiten von Daten ist eine der Hauptfunktionen von Datenbankanwendungen. In Access geschieht das entweder von Hand in Formularen, per VBA oder per Aktionsabfrage. Letztere lassen sich nicht nur aus dem Datenbankfenster heraus, sondern auch per VBA aufrufen und auch erstellen. Dabei sind Aktionsabfragen in den meisten Fällen wesentlich schneller als die entsprechenden Anweisungen der Datenzugriffstechniken DAO und ADO. Grund genug, Aktionsabfragen einmal genauer unter die Lupe zu nehmen.

Grundlagen

SQL bietet neben den SELECT-Abfragen zum Auswählen von Daten aus den Tabellen einer Datenbank auch die Möglichkeit, Daten zu ändern. Dazu stellt SQL eine Reihe unterschiedlicher Aktionsabfragen bereit, von denen jede für eine bestimmte Änderungsart zuständig ist:

  • Anfügeabfragen (INSERT INTO): Hinzufügen kompletter Datensätze in bestehende Tabellen
  • Aktualisierungsabfragen (UPDATE): Aktualisieren von bestehenden Datensätzen
  • Löschabfragen (DELETE): Löschen von Datensätzen einer Tabelle
  • Tabellenerstellungsabfragen (SELECT INTO): Gleichzeitiges Erstellen einer Tabelle und Hinzufügen von Daten
  • Erstellen und Ausführen

    Aktionsabfragen liegen wie Auswahlabfragen als gespeicherte Abfrage oder als Zeichenkette vor (SQL-String). Gespeicherte Abfragen kann man sowohl von der Benutzungsoberfläche von Access aus als auch per Code starten. Ausschließlich per Code lassen sich dynamisch zusammengesetzte SQL-Strings aufrufen.

    Erstellen einer Aktionsabfrage

    Um eine Aktionsabfrage zu erstellen, gehen Sie wie beim Erstellen einer Auswahlabfrage vor. Klicken Sie auf der Registerseite Abfragen des Datenbankfensters auf die Schaltfläche Neu und wählen Sie den Eintrag Entwurfsansicht aus.

    Im nun erscheinenden Dialog Tabelle anzeigen wählen Sie die Tabellen aus, die Sie für die Aktionsabfrage benötigen.

    Abb. 1: Auswahl des Abfragetyps

    Abb. 2: Anzeigen der Datenblattansicht

    Abb. 3: Datenblattansicht per Kontextmenü

    Abb. 4: Anzeige der unterschiedlichen Aktionsabfragen

    Hierbei hängt es von der Art der Aktionsabfrage ab, ob die hier ausgewählten Tabellen lediglich die Daten liefern oder Ziel der Datenmanipulation sind.

    Bei der Aktualisierungsabfrage und der Löschabfrage ist die ausgewählte Tabelle das Ziel der Aktion, während Sie bei Anfügeabfragen und Tabellenerstellungsabfragen zunächst die Quelle der anzufügenden Daten auswählen.

    Wenn Sie die gewünschte Tabelle oder Abfrage ausgewählt haben, können Sie auf die herkömmliche Entwurfsansicht von Abfragen zugreifen.

    Um aus der Abfrage eine Aktionsabfrage zu erstellen, wählen Sie aus dem Menü Abfragen einen der Einträge Tabellenerstellungsabfrage..., Aktualisierungsabfrage, Anfügeabfrage... oder Löschabfrage aus (s. Abb. 1).

    An den Pünktchen erkennen Sie bereits die Abfragetypen, die im nächsten Schritt noch einen zusätzlichen Dialog öffnen, um weitere Tabellen für die Zusammenstellung der Aktionsabfrage zu erfragen.

    Voransicht des Ergebnisses

    Alle Aktionsabfragen bieten die Möglichkeit, sich vorher die betroffenen Datensätze anzusehen. Dazu klicken Sie bei aktivierter Entwurfsansicht einfach auf die Schaltfläche Ansicht (bei aktiviertem Datenblattansicht-Symbol) oder wählen dort den Eintrag Datenblattansicht aus.

    Alternativ und noch schneller geht das mit dem entsprechenden Eintrag des Kontextmenüs (s. Abb. 3).

    Darstellung

    Aktionsabfragen werden im Datenbankfenster wie alle anderen Sonderlinge mit einem speziellen Symbol dargestellt (s. Abb. 4).

    Einstellungen

    Im Optionen-Dialog gibt es eine Einstellung, mit der Sie festlegen können, dass vor dem Ausführen einer Aktionsabfrage eine Meldung ausgegeben wird und eine Rückfrage vor der Durchführung der Datenänderung erfolgt. Sie finden diese Einstellung namens Aktionsabfragen im Bereich Bestätigung der Registerseite Bearbeiten/Suchen dieses Dialogs.

    Parameter

    Genau wie in herkömmlichen Access-Abfragen können Sie innerhalb von Aktionsabfragen Parameter verwenden. Dazu geben Sie den gewünschten Platzhalter einfach wie in folgendem Beispiel in eckigen Klammern an:

    DELETE Artikelname

    FROM Artikel

    WHERE Artikelname Like [Geben Sie den Namen des zu löschenden Artikels ein];

    Access- und benutzerdefinierte Funktionen

    Solange Sie nur mit Access beziehungsweise mit der Jet-Engine als Backend arbeiten, können Sie die in Access eingebauten Funktionen sowie benutzerdefinierte Funktionen in Aktionsabfragen verwenden.

    Ist das nicht der Fall, weil Sie etwa mit der MSDE oder dem SQL Server arbeiten, steht eine Alternative auf dem Plan: Setzen Sie die Abfrage inklusive des per Funktion ermittelten Wertes dynamisch zusammen und lassen Sie diese dann durch den jeweiligen Datenbankserver bearbeiten.

    Kompatibilität der Datentypen

    Bei Abfragen, die Daten an eine bestehende Tabelle anfügen oder Datensätze ändern, sollten Sie darauf achten, dass die einzufügenden Werte mit den Datentypen der Zielfelder kompatibel sind.

    In vielen Fällen kann Access zwar eine Konvertierung vornehmen, aber dies kostet natürlich Performance - und damit gerade beim Anfügen oder Aktualisieren großer Mengen Daten viel Zeit.

    Daten hinzufügen

    Für das Hinzufügen neuer Datensätze in eine bestehende Tabelle ist unter SQL die INSERT INTO-Abfrage verantwortlich. Es gibt zwei Varianten der INSERT INTO-Abfrage, die die anzufügenden Daten auf unterschiedliche Weise ermitteln.

    Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

    Sind Sie Abonnent?Jetzt einloggen ...
     

    Kompletten Artikel lesen?

    Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

    E-Mail:

    Verwandte Beiträge:

    Daten aus verknüpften Tabellen kopieren

    DAO: Tabellen, Felder und Co. bearbeiten

    SQL-Datenbankschema auslesen

    Duplikate suchen und löschen

    Datenzugriff per VBA vereinfachen

    © 2003-2015 André Minhorst Alle Rechte vorbehalten.