Erstellen und Ausführen einer Löschabfrage

Gilt für
Access für Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Wenn Sie in einer Access-Desktopdatenbank viele Daten schnell oder regelmäßig löschen möchten, kann eine Lösch- oder Aktualisierungsabfrage nützlich sein, da die Abfragen die Angabe von Kriterien ermöglichen, um die Daten schnell zu finden und zu löschen. Die Verwendung einer Abfrage kann ebenfalls Zeit sparen, da Sie eine gespeicherte Abfrage wiederverwenden können.

Hinweis

Sie sollten unbedingt eine Sicherungskopie Ihrer Access-Datenbank erstellen, bevor Sie Daten löschen oder eine Löschabfrage ausführen.

Wenn Sie nur einige wenige Datensätze löschen möchten, benötigen Sie keine Abfrage. Öffnen Sie einfach die Tabelle in der Datenblattansicht, markieren Sie die Felder (Spalten) oder Datensätze (Zeilen), die Sie löschen möchten, und drücken Sie dann die ENTF-TASTE.

Wichtig

Die Informationen in diesem Artikel gelten nur für Desktopdatenbanken. Sie können in Access-Web-Apps keine Lösch- oder Aktualisierungsabfragen verwenden.

Inhalt dieses Artikels

Auswählen eines Abfragetyps

Sie können entweder eine Aktualisierungsabfrage oder eine Löschabfrage verwenden, um Daten aus Ihrer Datenbank zu löschen. Wählen Sie eine Abfrage basierend auf den Details in der folgenden Tabelle aus:

Abfragetyp Verwendung Ergebnis
Verwenden einer Löschabfrage So entfernen Sie ganze Datensätze (Zeilen) aus einer Tabelle oder aus zwei verknüpften Tabellen gleichzeitig.
Hinweis: Wenn sich die Datensätze auf der 1-Seite einer 1:n-Beziehung befinden, müssen Sie möglicherweise die Beziehung ändern, bevor Sie die Löschabfrage ausführen. Weitere Informationen finden Sie im Abschnitt zum Löschen von Daten aus verknüpften Tabellen.
Löschabfragen Entfernen Sie alle Daten in jedem Feld, einschließlich des Schlüsselwerts, der einen Datensatz eindeutig macht
Verwenden einer Aktualisierungsabfrage So löschen Sie einzelne Feldwerte aus einer Tabelle. Vereinfacht das Löschen von Werten, indem die vorhandenen Werte entweder auf einen Nullwert (d. h. keine Daten) oder eine Zeichenfolge der Länge Null (ein Paar doppelter Anführungszeichen ohne Leerzeichen) aktualisiert werden.

Seitenanfang

Dinge, die Sie überprüfen sollten, bevor Sie eine Abfrage zum Löschen von Daten verwenden

  • Stellen Sie sicher, dass die Datei nicht schreibgeschützt ist:

    1. Klicken Sie mit der rechten Maustaste auf "Start" und dann auf "Windows-Explorer öffnen".
    2. Klicken Sie mit der rechten Maustaste auf die Datenbankdatei, und klicken Sie auf Eigenschaften.
    3. Überprüfen Sie, ob das Attribut Schreibgeschützt ausgewählt ist.
  • Stellen Sie sicher, dass Sie über die erforderlichen Berechtigungen zum Löschen von Datensätzen aus der Datenbank verfügen. Wenn Sie sich nicht sicher sind, wenden Sie sich an Ihren Systemadministrator oder den Datenbankdesigner.

  • Stellen Sie sicher, dass Sie Inhalt in der Datenbank aktiviert haben. Standardmäßig blockiert Access alle Aktionsabfragen (Lösch-, Aktualisierungs- und Tabellenerstellungsabfragen), sofern Sie der Datenbank nicht zuerst vertrauen. Informationen zum Vertrauenswürdigkeit einer Datenbank finden Sie im Abschnitt Deaktivieren des deaktivierten Modus zum Blockieren einer Abfrage.

  • Bitten Sie andere Benutzer der Datenbank, alle Tabellen, Formulare, Abfragen und Berichte zu schließen, in denen die zu löschenden Daten verwendet werden. Dadurch können Sperrverletzungen vermieden werden.

  • Bevor Sie Datensätze bearbeiten oder löschen, empfiehlt es sich, eine Sicherungskopie der Datenbank zu erstellen , falls Sie Ihre Änderungen rückgängig machen möchten.

Tipp

Wenn eine große Anzahl von Benutzern eine Verbindung mit der Datenbank herstellt, müssen Sie die Datenbank möglicherweise schließen und dann im exklusiven Modus erneut öffnen.

So öffnen Sie eine Datenbank im exklusiven Modus

  1. Klicken Sie auf die Registerkarte "Datei", ">Öffnen".
  2. Navigieren Sie zu der Datenbank, und zeigen Sie darauf, um sie auszuwählen, klicken Sie auf den Pfeil neben der Schaltfläche "Öffnen ", und klicken Sie dann auf "Exklusiv öffnen".
    Öffnen der Datei im exklusiven Modus

Sichern der Datenbank

  1. Klicken Sie auf die Registerkarte Datei , und zeigen Sie auf Speichern unter.
  2. Klicken Sie auf Datenbank speichern unter und dann auf Datenbank sichern. Die ursprüngliche Datei wird von Access geschlossen, eine Sicherungskopie wird erstellt, und die ursprüngliche Datei wird wieder geöffnet.
  3. Klicken Sie auf "Speichern unter ", geben Sie einen Namen und einen Speicherort für die Sicherungskopie an, und klicken Sie dann auf "Speichern".

Hinweis

Wenn Sie eine schreibgeschützte Datenbank oder eine Datenbank verwenden, die in einer früheren Version von Access erstellt wurde, erhalten Sie möglicherweise eine Meldung, dass es nicht möglich ist, eine Sicherungskopie der Datenbank zu erstellen.

Schließen Sie die Originaldatei, und weisen Sie einen anderen Namen zu, um eine vorhandene Sicherungskopie verwenden zu können, damit der Name der Originalversion für die Sicherungskopie verwendet werden kann. Weisen Sie der Sicherungskopie den Namen der Originalversion zu, und öffnen Sie die umbenannte Sicherungskopie in Access.

Verwenden einer Löschabfrage

Um eine Löschabfrage zu erstellen, klicken Sie auf die Registerkarte Erstellen und in der Gruppe Abfragen auf Abfrageentwurf. Doppelklicken Sie auf jede Tabelle, aus der Sie Datensätze löschen möchten, und klicken Sie dann auf "Schließen".

Die Tabelle wird als Fenster im oberen Abschnitt des Abfrageentwurfsbereichs angezeigt. Doppelklicken Sie in der Liste der Felder auf das Sternchen (*), um alle Felder in der Tabelle dem Entwurfsbereich hinzuzufügen.

Verwenden eines bestimmten Kriteriums in einer Löschabfrage

Wichtig

Verwenden Sie Kriterien, um nur die Datensätze zurückzugeben, die Sie löschen möchten. Andernfalls entfernt die Löschabfrage alle Datensätze in der Tabelle.

Doppelklicken Sie auf das Feld, das Sie als Löschkriterium angeben möchten, geben Sie eines der Kriterien in die Zeile Kriterien des Abfrage-Designers ein, und deaktivieren Sie dann das Kontrollkästchen "Anzeigen " für jedes Kriterienfeld.

Ein Beispiel dafür, wann Sie diese Option verwenden möchten: Angenommen, Sie möchten alle ausstehenden Aufträge für einen Kunden entfernen. Um nur diese Datensätze zu finden, fügen Sie dem Entwurfsbereich der Abfrage die Felder "Kunden-ID" und "Bestelldatum" hinzu, und geben Sie dann die ID-Nummer des Kunden sowie das Datum ein, an dem die Bestellungen dieses Kunden ungültig wurden.

  1. Klicken Sie auf der Registerkarte Entwurf aufDatenblattansichtanzeigen>.
  2. Überprüfen Sie, ob die Abfrage die Datensätze zurückgibt, die Sie löschen möchten, und drücken Sie dann STRG+S, um die Abfrage zu speichern.
  3. Um die Abfrage auszuführen, doppelklicken Sie im Navigationsbereich auf die Abfrage.

Seitenanfang

Verwenden einer Aktualisierungsabfrage

Hinweis

Sie können die Option "Updateabfrage" in einer Access-Web-App nicht verwenden.

In diesem Abschnitt wird erläutert, wie Sie mit einer Aktualisierungsabfrage einzelne Felder aus Tabellen löschen. Denken Sie daran, dass beim Ausführen einer Aktualisierungsabfrage zum Löschen von Daten die vorhandenen Werte in Abhängigkeit von den angegebenen Kriterien entweder in NULL oder eine Zeichenfolge der Länge Null (ein Paar doppelter Anführungszeichen ohne Leerzeichen) geändert werden.

  1. Klicken Sie auf die Registerkarte Erstellen und dann in der Gruppe Abfragen auf Abfrageentwurf.

  2. Wählen Sie die Tabelle aus, die die zu löschenden Daten enthält (wenn die Tabelle verknüpft ist, wählen Sie die Tabelle auf der 1-Seite der Beziehung aus), klicken Sie auf "Hinzufügen" und dann auf "Schließen".
    Die Tabelle wird als Fenster im oberen Abschnitt des Abfrageentwurfsbereichs angezeigt. Im Fenster werden alle Felder der ausgewählten Tabelle aufgelistet.

  3. Doppelklicken Sie auf das Sternchen (*), um alle Felder der Tabelle dem Entwurfsbereich hinzuzufügen. Durch das Hinzufügen aller Tabellenfelder kann die Löschabfrage ganze Datensätze (Zeilen) aus der Tabelle entfernen.
    Optional können Sie Kriterien für ein oder mehrere Felder in die Zeile Kriterien des Designers eingeben und dann das Kontrollkästchen Anzeigen für jedes Kriterienfeld deaktivieren. Weitere Informationen zur Verwendung von Kriterien finden Sie in der Tabelle "Beispielkriterien für ausgewählte Abfragen ".

    Hinweis

    Sie verwenden Kriterien, um nur die Datensätze zurückzugeben, die Sie ändern möchten. Andernfalls legt die Aktualisierungsabfrage jeden Datensatz in jedem der Felder in der Abfrage auf NULL fest.

  4. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ansicht und dann auf Datenblattansicht.

  5. Überprüfen Sie, ob die Abfrage die Datensätze zurückgibt, die Sie auf NULL oder eine Zeichenfolge der Länge Null (ein Paar doppelter Anführungszeichen ohne Leerzeichen zwischen ihnen ("") festlegen möchten.

  6. Wiederholen Sie bei Bedarf die Schritte 3 bis 5, und ändern Sie die Felder oder Kriterien, bis die Abfrage nur die Daten zurückgibt, die Sie löschen möchten. Drücken Sie dann STRG+S, um die Abfrage zu speichern.

  7. Um die Abfrage auszuführen, doppelklicken Sie im Navigationsbereich auf die Abfrage.

Seitenanfang

Weitere Informationen

Wenn Sie Daten aus mehreren verknüpften Tabellen löschen möchten, müssen Sie die Optionen "Referenzielle Integrität " und "Löschweitergabe an verwandte Datensätze" für jede Beziehung aktivieren. Dadurch kann Ihre Abfrage Daten aus den Tabellen auf der 1- und viele-Seite der Beziehung löschen. Die Vorbereitung auf gelöschte verwandte Daten erfordert die Überprüfung von Folgendem:

  • Bestimmen Sie, welche Datensätze sich auf der 1-Seite der Beziehung und welche auf der n-Seite befinden.
  • Wenn Sie Datensätze auf der "einen" Seite der Beziehung und die verknüpften Datensätze auf der "viele"-Seite löschen müssen, aktivieren Sie einen Regelsatz namens "Referenzielle Integrität" und sie ermöglichen kaskadierende Löschungen. Die Schritte in diesem Abschnitt erläutern die referenzielle Integrität und die Durchführung beider Aufgaben.
  • Wenn Sie Datensätze nur auf der 1-Seite der Beziehung löschen müssen, löschen Sie zuerst diese Beziehung und dann die Daten.

Wenn Sie Daten nur auf der n-Seite der Beziehung entfernen müssen, können Sie die Löschabfrage erstellen und ausführen, ohne die Beziehung ändern zu müssen.

Um herauszufinden, welche Datensätze sich auf der "einen" und der "vielen" Seite einer Beziehung befinden, klicken Sie auf der Registerkarte Datenbanktools in der Gruppe "Beziehungen " auf "Beziehungen". Auf der Registerkarte "Beziehungen" werden die Tabellen in Ihrer Datenbank und die Beziehungen angezeigt. Jede Beziehung wird als Linie dargestellt, die Tabellen zwischen Feldern verbindet.

Die folgende Abbildung zeigt eine typische Beziehung. Die meisten, wenn nicht sogar alle Beziehungen in einer Datenbank weisen eine "Eins"-Seite und eine "Viele"-Seite auf. Das Beziehungsdiagramm bezeichnet die "Eins"-Seite mit der Zahl Eins (1) und die "Viele"-Seite mit dem Unendlichkeitssymbol (∞).

Eine Beziehung zwischen zwei Tabellen

Wenn Sie Datensätze auf der 1-Seite der Beziehung löschen, löschen Sie auch alle verwandten Datensätze auf der n-Seite der Beziehung. Wenn Sie jedoch Datensätze auf der n-Seite einer Beziehung löschen, löschen Sie in der Regel keine Datensätze auf der 1-Seite.

Außerdem erzwingt Access automatisch einen Satz von Regeln, der als referenzielle Integrität bezeichnet wird. Diese Regeln stellen sicher, dass die Fremdschlüssel in einer Datenbank die richtigen Werte enthalten. Bei einem Fremdschlüssel handelt es sich um eine Spalte, deren Werte mit den Werten in der Primärschlüsselspalte einer anderen Tabelle übereinstimmen.

Bearbeiten der Beziehung

Führen Sie diese Schritte nur aus, wenn Sie Daten auf der "einen" und vielen Seiten einer Beziehung löschen müssen.

  1. Klicken Sie auf der Registerkarte Datenbanktools in der Gruppe Beziehungen auf Beziehungen.

  2. Klicken Sie mit der rechten Maustaste auf die Beziehung (die Linie), die die am Löschvorgang beteiligten Tabellen verbindet, und klicken Sie dann im Kontextmenü auf Beziehung bearbeiten .

  3. Stellen Sie im Dialogfeld Beziehungen bearbeiten sicher, dass das Kontrollkästchen Referenzielle Integrität erzwingen aktiviert ist.

  4. Aktivieren Sie das Kontrollkästchen "Löschweitergabe an verwandte Datensätze ".

    Hinweis

    Bis Sie diese Eigenschaft wieder deaktivieren, werden beim Löschen eines Datensatzes auf der 1-Seite der Beziehung alle verwandten Datensätze auf der n-Seite der Beziehung gelöscht.

  5. Klicken Sie auf "OK", schließen Sie den Bereich "Beziehungen ", und fahren Sie dann mit der nächsten Gruppe von Schritten fort.

Löschen einer Beziehung

  1. Wenn Sie dies noch nicht getan haben, öffnen Sie den Bereich "Beziehungen ".
  2. Klicken Sie auf der Registerkarte Datenbanktools in der Gruppe Beziehungen auf Beziehungen.
    Notieren Sie sich die an der Beziehung beteiligten Felder, sodass Sie die Beziehung nach dem Löschen der Daten wiederherstellen können.
  3. Klicken Sie mit der rechten Maustaste auf die Beziehung (die Linie), die die am Löschvorgang beteiligten Tabellen verbindet, und klicken Sie dann im Kontextmenü auf Löschen .

Hinweis

Um die Beziehung wiederherzustellen, führen Sie die vorherigen Schritte aus, um den Bereich "Beziehungen " zu öffnen, und ziehen Sie dann das Primärschlüsselfeld aus der Tabelle "Eins", und legen Sie es auf dem Fremdschlüsselfeld der Tabelle "Viele" ab. Das Dialogfeld "Beziehung bearbeiten" wird angezeigt. Wenn die alte Beziehung referenzielle Integrität erzwungen hat, wählen Sie Referenzielle Integrität erzwingen aus, und klicken Sie dann auf Erstellen. Andernfalls klicken Sie einfach auf Erstellen.

Seitenanfang

Beispielkriterien für Auswahlabfragen

In der folgenden Tabelle sind einige Beispielkriterien aufgeführt, die Sie in Auswahlabfragen verwenden können, wenn Sie sicherstellen möchten, dass Sie nur die Daten löschen, die Sie löschen möchten. In einigen dieser Beispiele werden Platzhalterzeichen verwendet.

Kriterien Auswirkung
> 234 Gibt alle Zahlen größer als 234 zurück. Um alle Zahlen kleiner als 234 zu finden, verwenden Sie < 234.
>= "Cajhen" Gibt alle Datensätze ab Motte bis zum Ende des Alphabets zurück.
Zwischen #02.02.2010# Und #1.12.2010# Gibt Daten vom 2. Februar 2010 bis zum 1. Dezember 2010 (ANSI-89) zurück. Wenn Ihre Datenbank die ANSI-92-Platzhalterzeichen verwendet, verwenden Sie einfache Anführungszeichen (') anstelle von Nummernzeichen (#). Beispiel: Zwischen '02.02.2010' Und '1.12.2010'.
Nicht "Deutschland" Findet alle Datensätze, in denen die genauen Inhalte des Felds nicht "Deutschland" entsprechen. Durch das Kriterium werden Datensätze zurückgegeben, die neben "Deutschland" noch weitere Zeichen enthalten, z. B. "Deutschland (Euro)" oder "Europa (Deutschland)".
Nicht "T*" Findet alle Datensätze außer denen, die mit T beginnen. Wenn Ihre Datenbank den Platzhalterzeichensatz ANSI-92 verwendet, verwenden Sie ein Prozentzeichen (%) anstelle des Sternchens (*).
Nicht "*t" Findet alle Datensätze, die nicht auf "t" enden. Verwenden Sie das Prozentzeichen (%) anstelle des Sternchens (*), wenn Ihre Datenbank den ANSI-92-Platzhalter-Zeichensatz verwendet.
In(Kanada,GB) Findet in einer Liste alle Datensätze, die "Kanada" oder "GB" enthalten.
Wie "[A-D]*" Sucht in einem Textfeld alle Datensätze, die mit den Buchstaben A bis D beginnen. Wenn Ihre Datenbank den Platzhalterzeichensatz ANSI-92 verwendet, verwenden Sie ein Prozentzeichen (%) anstelle des Sternchens (*).
Wie "*ar*" Ruft alle Datensätze ab, die die Buchstabenfolge "ar" enthalten. Wenn in der Datenbank ANSI-92-Platzhalterzeichen verwendet werden, fügen Sie anstelle des Sternchens (*) das Prozentzeichen (%) ein.
Wie "Maison Dewe?" Findet alle Datensätze, die mit "Maison" beginnen und eine zweite aus 5 Buchstaben bestehende Zeichenfolge enthalten, deren erste 4 Buchstaben "Dewe" lauten und deren letzter Buchstabe unbekannt ist. Wenn Ihre Datenbank den ANSI-92-Platzhalterzeichensatz verwendet, verwenden Sie den Unterstrich (_) anstelle des Fragezeichens (?).
#2/2/2010# Ruft alle Datensätze für den 2. Februar 2010 ab. Wenn Ihre Datenbank den Platzhalterzeichensatz ANSI-92 verwendet, schließen Sie das Datum in einfache Anführungszeichen anstelle von Nummernzeichen ein ("2.2.2010").
< Datum() - 30 Gibt mit der Funktion Datum alle Daten zurück, die mehr als 30 Tage zurückliegen.
Datum() Gibt mit der Funktion Datum alle Datensätze mit dem Tagesdatum zurück.
Zwischen Datum() und DateAdd("M", 3, Datum()) Verwendet die Funktionen "Datum " und " DatAdd", um alle Datensätze zwischen dem heutigen Datum und dem Datum in drei Monaten ab heute zurückzugeben.
Ist Null Gibt alle Datensätze zurück, die einen (leeren oder nicht definierten) NULL-Wert enthalten.
Ist Nicht Null Gibt alle Datensätze zurück, die einen beliebigen Wert enthalten (der nicht Null ist).
"" Gibt alle Datensätze zurück, die eine leere Zeichenfolge enthalten. Sie verwenden leere Zeichenfolgen, wenn Sie einem Pflichtfeld einen Wert hinzufügen müssen, aber noch nicht wissen, wie der tatsächliche Wert lautet. Beispielsweise könnte ein Feld eine Faxnummer erfordern, aber manche Ihrer Kunden haben möglicherweise kein Faxgerät. In diesem Fall geben Sie anstelle einer Zahl ein Paar doppelter Anführungszeichen ohne Leerzeichen zwischen ihnen ein (""").

Seitenanfang

Tipps zur Problembehandlung

Gründe für die Anzeige dieser Fehlermeldung und Vorgehensweise bei der Fehlerbehebung

Wenn Sie eine Löschabfrage unter Verwendung mehrerer Tabellen erstellen und die Eigenschaft Eindeutige Datensätze der Abfrage auf Nein festgelegt ist, zeigt Access die Fehlermeldung an. Beim Ausführen der Abfrage konnten keine Daten aus den angegebenen Tabellen gelöscht werden .

Um dieses Problem zu beheben, legen Sie die Eigenschaft Eindeutige Datensätze der Abfrage auf Ja fest.

  1. Öffnen Sie die Löschabfrage in der Entwurfsansicht.
  2. Drücken Sie F4, wenn das Eigenschaftenblatt der Abfrage nicht geöffnet ist, um es zu öffnen.
  3. Klicken Sie auf den Abfrage-Designer, um (anstelle der Feldeigenschaften) die Abfrageeigenschaften anzuzeigen.
  4. Suchen Sie im Eigenschaftenfenster der Abfrage nach der Eigenschaft Eindeutige Datensätze, und legen Sie den Wert Ja fest.

Beenden des Modus "Deaktiviert" zum Blockieren einer Abfrage

Wenn Sie eine Desktopdatenbank öffnen, der Sie nicht vertrauen oder die sich nicht an einem vertrauenswürdigen Speicherort befindet, blockiert Access standardmäßig alle Aktionsabfragen.

Wenn Sie versuchen, eine Aktionsabfrage auszuführen, und Sie den Eindruck haben, dass nichts passiert, überprüfen Sie die Statusleiste von Access auf die folgende Meldung:

Die Aktion oder das Ereignis wurde durch den Modus 'Deaktiviert' blockiert.

Wenn diese Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um den blockierten Inhalt zu aktivieren:

  • Klicken Sie in der Meldungsleiste der Sicherheitswarnung auf "Inhalt aktivieren", und führen Sie die Abfrage erneut aus.

Seitenanfang