Erstellen und Ausführen einer Löschabfrage

Erstellen und Ausführen einer Löschabfrage

Wenn Sie in einer Access-Desktopdatenbank entweder schnell viele Daten löschen oder eine Reihe von Daten regelmäßig löschen möchten, kann eine Lösch- oder Aktualisierungsabfrage nützlich sein, da die Abfragen es ermöglichen, Kriterien anzugeben, um die Daten schnell zu finden und zu löschen. Die Verwendung einer Abfrage kann auch ein Zeitverwenden sein, 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 Datensätze löschen möchten, benötigen Sie keine Abfrage. Öffnen Sie einfach die Tabelle in der Datenblattansicht, wählen Sie die Felder (Spalten) oder Datensätze (Zeilen) aus, die Sie löschen möchten, und drücken Sie dann DIE DELETE-TASTE.

Wichtig: Die Informationen in diesem Artikel sind nur für Desktopdatenbanken vorgesehen. 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

Ergebnisse

Verwenden einer Löschabfrage

So entfernen Sie ganze Datensätze (Zeilen) gleichzeitig aus einer Tabelle oder aus zwei verknüpften Tabellen.

Hinweis: Wenn sich die Datensätze auf der "1"-Seite einer 1:n-Beziehung befinden, müssen Sie die Beziehung möglicherweise ändern, bevor Sie die Löschabfrage ausführen. Lesen Sie den Abschnitt zum Löschen von Daten aus verknüpften Tabellen.

Löschen von Abfragen entfernen 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.

Erleichtert das Löschen von Werten, indem die vorhandenen Werte entweder auf einen Nullwert (d. h. keine Daten) oder eine Zeichenfolge mit null Länge (ein Paar doppelter Anführungszeichen ohne Leerzeichen dazwischen) aktualisiert werden.

Seitenanfang

Zu überprüfende Elemente, bevor Sie eine Abfrage zum Löschen von Daten verwenden

  • Stellen Sie sicher, dass es sich bei der Datei nicht um eine schreibgeschützte Datei handelt:

    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 dann auf Eigenschaften.

    3. Sehen Sie, ob das Attribut "Schreibgeschützt" ausgewählt ist.

  • Vergewissern Sie sich, dass Sie über die erforderlichen Berechtigungen zum Löschen von Datensätzen aus der Datenbank verfügen. Wenn Sie nicht sicher sind, wenden Sie sich an Ihren Systemadministrator oder den Datenbankentwickler.

  • Stellen Sie sicher, dass Sie Inhalte in der Datenbank aktiviert haben. Standardmäßig blockiert Access alle Aktionsabfragen (Löschen, Aktualisieren und Tabellen erstellen), es sei denn, Sie vertrauen der Datenbank zuerst. Informationen zum Vertrauen in eine Datenbank finden Sie im Abschnitt Beenden des deaktivierten Modus zum Blockieren einer Abfrage.

  • Bitten Sie andere Benutzer der Datenbank, alle Tabellen, Formulare, Abfragen und Berichte zu schließen, die die daten verwenden, die Sie löschen möchten. Dadurch können Sperrverletzungen vermieden werden.

  • Bevor Sie Datensätze bearbeiten oder löschen, sollten Sie eine Sicherungskopie der Datenbank erstellen, wenn Sie die Änderungen rückgängig machen möchten.

Tipp: Wenn eine große Anzahl von Benutzern eine Verbindung mit der Datenbank herstellen, 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 der Registerkarte Datei > Öffnen.

  2. Navigieren Sie zu und zeigen Sie, um die Datenbank 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, zeigen Sie auf Speichern unter.

  2. Klicken Sie auf Datenbank speichern unter, und klicken Sie 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 Speicherort für die Sicherungskopie an, und klicken Sie auf Speichern.

Hinweis: Wenn Sie eine schreibgeschützte oder in der vorherigen Version von Access erstellte Datenbank verwenden, wird möglicherweise eine Meldung angezeigt, dass es nicht möglich ist, eine Datenbanksicherung 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

Klicken Sie zum Erstellen einer Löschabfrage auf die Registerkarte Erstellen 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 Bereich des Abfrageentwurfsrasters angezeigt. Doppelklicken Sie in der Liste der Felder auf das Sternchen (*), um dem Entwurfsraster alle Felder in der Tabelle hinzuzufügen.

Verwenden eines bestimmten Kriteriums in einer Löschabfrage

Wichtig: Verwenden Sie Kriterien, um nur die Datensätze zurück, die Sie löschen möchten. Andernfalls entfernt die Löschabfrage jeden Datensatz in der Tabelle.

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

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

  1. Klicken Sie auf der Registerkarte Entwurf auf Ansicht > Datenblattansicht.

  2. Vergewissern Sie sich, dass 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. Zum Ausführen der Abfrage doppelklicken Sie im Navigationsbereich auf die Abfrage.

Seitenanfang

Verwenden einer Aktualisierungsabfrage

Hinweis: Sie können die Updateabfrageoption in einer Access Web App nicht verwenden.

In diesem Abschnitt wird erläutert, wie Sie mithilfe 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 je nach den von Ihnen angegebenen Kriterien entweder in NULL oder eine Zeichenfolge mit null Länge (ein Paar doppelter Anführungszeichen ohne Leerzeichen dazwischen) 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 daten enthält, die Sie löschen möchten (wenn die Tabelle verknüpft ist, wählen Sie die Tabelle auf der 1-Seite der Beziehung aus), klicken Sie auf Hinzufügen ,und klicken Sie dann auf Schließen.

    Die Tabelle wird als Fenster im oberen Bereich des Abfrageentwurfsrasters angezeigt. Im Fenster werden alle Felder in der ausgewählten Tabelle aufgeführt.

  3. Doppelklicken Sie auf das Sternchen (*), um alle Felder in der Tabelle zum Entwurfsraster hinzuzufügen. Durch 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 aktivieren. Weitere Informationen zur Verwendung von Kriterien finden Sie in der Tabelle Beispielkriterien für Auswahlabfragen.

    Hinweis: Mithilfe von Kriterien geben Sie nur die Datensätze zurück, 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. Stellen Sie sicher, dass die Abfrage die Datensätze zurückgibt, die Sie auf NULL oder eine Zeichenfolge mit null Länge festlegen möchten (ein Paar doppelter Anführungszeichen ohne Leerzeichen dazwischen ("").

  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, und drücken Sie dann STRG+S, um die Abfrage zu speichern.

  7. Zum Ausführen der Abfrage doppelklicken Sie im Navigationsbereich auf die Abfrage.

Seitenanfang

Weitere Informationen

Löschen von Daten aus verknüpften Tabellen

Wenn Sie Daten aus mehreren verknüpften Tabellen löschen möchten, müssen Sie die Optionen Referenzielle Integrität und Kaskadieren von verwandten Datensätzen für jede Beziehung aktivieren. Auf diese Weise kann Ihre Abfrage Daten aus den Tabellen auf den Seiten "eins" und "viele" der Beziehung löschen. Das Vorbereiten des Löschens verwandter Daten erfordert eine Überprüfung der folgenden Punkte:

  • Bestimmen Sie, welche Datensätze sich auf der 1-Seite der Beziehung befinden und welche sich auf der "n"-Seite befinden.

  • Wenn Sie Datensätze auf der 1-Seite der Beziehung und die zugehörigen Datensätze auf der "n"-Seite löschen müssen, aktivieren Sie einen Satz von Regeln namens Referenzielle Integrität, und Sie aktivieren kaskadierende Löscheinträge. In den Schritten in diesem Abschnitt werden die referenzielle Integrität und die Ausführung beider Aufgaben erläutert.

  • 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 Ihre Löschabfrage erstellen und ausführen, ohne die Beziehung ändern zu müssen.

Wenn Sie herausfinden möchten, welche Datensätze sich auf den Seiten "ein" und "viele" 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 alle Beziehungen in einer Datenbank haben eine "1"-Seite und eine "n"-Seite. Das Beziehungsdiagramm kennzeichnet die 1-Seite mit der Zahl eins (1) und die "n"-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 Seite "n" einer Beziehung löschen, löschen Sie in der Regel keine Datensätze auf der "1"-Seite.

Außerdem erzwingt Access automatisch eine Reihe von Regeln, die als referenzielle Integrität bezeichnet werden. Diese Regeln stellen sicher, dass die Fremdschlüssel in einer Datenbank die richtigen Werte enthalten. Ein Fremdschlüssel ist 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 1- und der n-Seite 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 Zeile), die die Tabellen verbindet, die am Löschvorgang beteiligt sind, 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 Verwandte Datensätze löschen.

    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 Seite "n" der Beziehung gelöscht.

  5. Klicken Sie auf OK,schließen Sie den Bereich Beziehungen, und fahren Sie dann mit den nächsten Schritten weiter.

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 Felder, die an der Beziehung beteiligt sind, damit Sie die Beziehung wiederherstellen können, nachdem Sie Ihre Daten gelöscht haben.

  3. Klicken Sie mit der rechten Maustaste auf die Beziehung (die Zeile), die die Tabellen verbindet, die am Löschvorgang beteiligt sind, und klicken Sie dann im Kontextmenü auf Löschen.

Hinweis: Führen Sie zum Wiederherstellen der Beziehung die vorherigen Schritte aus, um den Bereich Beziehungen zu öffnen, ziehen Sie dann das Primärschlüsselfeld aus der Tabelle "1", und legen Sie es im Fremdschlüsselfeld der Tabelle "n" ab. Das Dialogfeld Beziehung bearbeiten wird angezeigt. Wenn die alte Beziehung referenzielle Integrität erzwungen hat, wählen Sie ReferenzielleIntegrität erzwingen aus, und klicken Sie dann auf Erstellen. Klicken Sie andernfalls 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 nur die Daten gelöscht werden, die gelöscht werden sollen. Einige dieser Beispiele verwenden Platzhalterzeichen.

Kriterien

Auswirkung

> 234

Gibt alle Zahlen größer als 234 zurück. Verwenden Sie < 234, um nach allen Zahlen zu suchen, die kleiner als 234 sind.

>= "Cajhen"

Gibt alle Datensätze ab Motte bis zum Ende des Alphabets zurück.

Zwischen #2.02.2010# und #12.01.2010 #

Gibt Datumsangaben vom 02.02.2010 bis 01.12.2010 zurück (ANSI-89). Wenn Ihre Datenbank die ANSI-92-Platzhalterzeichen verwendet, verwenden Sie einfache Anführungszeichen (') anstelle von Pfundzeichen (#). Beispiel: Zwischen "02.02.2010" und "01.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 jenen, die mit "T" beginnen. Wenn in der Datenbank der ANSI-92-Platzhalterzeichensatz verwendet wird, verwenden Sie das Prozentzeichen (%) statt 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 nach allen Datensätzen, die mit den Buchstaben A bis D beginnen. Wenn Ihre Datenbank den ANSI-92-Platzhalterzeichensatz verwendet, verwenden Sie das 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 in der Datenbank der ANSI-92-Platzhalterzeichensatz verwendet wird, verwenden Sie einen Unterstrich (_) statt des Fragezeichens (?).

#2/2/2010 #

Findet alle Datensätze für den 2. Februar 2010. Wenn Ihre Datenbank den ANSI-92-Platzhalterzeichensatz verwendet, setzen Sie das Datum in einfache Anführungszeichen anstelle von Pfundzeichen ('02.02.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 DateAdd, um alle Datensätze zwischen dem heutigen Datum und drei Monaten ab dem heutigen Datum zurückzukehren.

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 (die nicht null sind).

""

Gibt alle Datensätze zurück, die eine leere Zeichenfolge enthalten. Sie verwenden Zeichenfolgen mit null Länge, wenn Sie einem erforderlichen Feld einen Wert hinzufügen müssen, wissen aber noch nicht, was der tatsächliche Wert ist. 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 dazwischen ein ("").

Seitenanfang

Tipps zur Problembehandlung

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

Wenn Sie eine Löschabfrage mithilfe mehrerer Tabellen erstellen und die Eigenschaft Eindeutige Datensätze der Abfrage auf Neinfestgelegt ist, zeigt Access die Fehlermeldung an. Sie konnten beim Ausführen der Abfrage nicht aus den angegebenen Tabellen löschen.

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 standardmäßig eine Desktopdatenbank öffnen, der Sie nicht vertrauen möchten oder die sich nicht an einem vertrauenswürdigen Speicherort befindet, blockiert Access die Ausführung aller 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, gehen Sie wie folgt vor, um den blockierten Inhalt zu aktivieren:

  • Klicken Sie auf der Sicherheitswarnungsleiste auf Inhalt aktivieren,und führen Sie Ihre Abfrage erneut aus.

Seitenanfang

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Office Insider werden

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×