Microsoft Office Online
Für Mein Office Online (Was ist das?) registrieren | Anmelden

 
 
Microsoft Office Access
Suchen
Suchen
 
 
 
 
Warnung: Sie haben diese Webseite mit einem nicht unterstützten Browser geöffnet. Diese Webseite wird am besten angezeigt, wenn Sie Microsoft Internet Explorer 6.0 oder höher, Firefox 1.5 oder Netscape Navigator 6.0 oder höher verwenden. Hier finden Sie weitere Informationen über unterstützte Browser.

DruckversionDruckversion Lesezeichen und FreigabeFreigabe
Löschen eines oder mehrerer Datensätze in einer Access-Datenbank
 
Anwendbar unter
Microsoft Office Access 2003

Das Entfernen nicht benötigter Daten stellt eine gute Bereinigungsstrategie dar, die alle Benutzer einer Datenbank anwenden sollten. Durch das Aussortieren veralteter oder falscher Daten bleibt die Verwendungs- und Verwaltungsfreundlichkeit einer Datenbank erhalten.

Daten können aus verschiedenen Gründen nicht mehr erforderlich sein:

  • Veränderungen in der Wirklichkeit. Beispiele sind das Auslaufen eines Artikels oder das Schließen des Geschäfts in einer bestimmten Region.
  • Fehler von Benutzern. Beispiele sind doppelte Eingaben von Daten für einen Kunden oder das Erstellen mehrerer Formulare zur Eingabe von Rechnungsdaten.
  • Das Verstreichen der Zeit. Ein Beispiel ist das Verschieben der Daten des vergangenen Quartals in eine Archivdatenbank am Beginn jedes neuen Quartals.

Welche Daten Sie in der Datenbank löschen müssen, wird durch die Struktur Ihrer Datenbank und die eben beschriebenen Faktoren bestimmt. Der Vorgang kann unkompliziert sein, z. B., wenn nur der Inhalt von Feldern entfernt werden muss, oder komplexer, z. B. beim Löschen mehrerer Tabellen.

Wichtig  Wenn Sie weitergehende Aktionen als das einfache Leeren eines Felds planen, sollten Sie sich zunächst mit der Struktur der Datenbank vertraut machen. Das Hinzufügen oder Bearbeiten eines Datensatzes wirkt sich selten auf zugehörige Datensätze aus, doch zum Löschen eines Datensatzes ist es häufig erforderlich, zugehörige Datensätze zu bearbeiten oder zu löschen. Wenn Sie sich z. B. entscheiden, in der Beispieldatenbank Nordwind einen Category-Datensatz in der Tabelle Kategorien zu löschen, müssen Sie in mehreren zugehörigen Tabellen ebenfalls Datensätze löschen, z. B. Artikel (alle Artikel, die in diese Kategorie fallen) oder Bestelldetails (Teile von Bestellungen, die den in diese Kategorie fallenden Artikeln entsprechen).

Wenn Sie die Datenbank nicht selbst entworfen oder erstellt haben, nehmen Sie sich die nötige Zeit, um deren Entwurf kennen zu lernen. Sie sollten mit der Struktur der Tabellen in der Datenbank, den Beziehungen zwischen den Tabellen und den unterschiedlichen, von den Tabellen abhängigen Objekten vertraut sein, sodass Sie die datenbankweiten Auswirkungen beim Löschen eines Datensatzes oder Objekts kennen.

In diesem Thema werden die verschiedenen Möglichkeiten beschrieben, wie Sie einen oder mehrere Datensätze in einer Datenbank dauerhaft löschen können. Wenn Sie Datensätze vorübergehend aus der aktuellen Ansicht entfernen möchten, können Sie einen Filter anwenden, um die Datensätze auszublenden, die Sie nicht interessieren. Weitere Informationen zu Filtern finden Sie im Thema Filtern: Begrenzen der Anzahl von Datensätzen in Ansichten oder Berichten.

Auswirkungen beim Löschen eines Datensatzes

Das Wichtigste, dessen Sie sich beim Löschen eines Datensatzes bewusst sein sollten, besteht darin, dass dieser Vorgang möglicherweise zum Löschen mehrerer Datensätze in zugehörigen Tabellen führt. Vielleicht fragen Sie sich, wieso sich das Löschen eines Datensatzes häufig auch auf zugehörige Datensätze auswirkt. Die Antwort ist einfach, jedoch nicht unbedingt nahe liegend: in einer Datenbank werden zusammengehörige Informationen in mehreren Tabellen gespeichert, sodass beim Entfernen wichtiger Informationselemente aus einer Tabelle zugehörige, in anderen Tabellen gespeicherte Informationen möglicherweise geändert oder entfernt werden müssen.

Anhand eines Beispiels soll im Folgenden verdeutlicht werden, wieso sich das Löschen zusammengehöriger Datensätze positiv auswirkt. Stellen Sie sich ein Szenario vor, in dem Sie der Beispieldatenbank Nordwind.mdb einen Datensatz hinzufügen müssen. Das Unternehmen hat einen neuen Kunden mit dem Namen Wide World Importers geworben, daher fügen Sie der Tabelle Kunden einen neuen Datensatz für diesen Kunden hinzu.

Tabelle „Kunden“

Um zu überprüfen, ob sich dieser neue Datensatz auf zugehörige Tabellen auswirkt, ermitteln Sie die Tabellen, die mit der Tabelle Kunden verbunden sind. Klicken Sie mit der rechten Maustaste auf den Hintergrund des Datenbankfensters, und klicken Sie auf Beziehungen, um das Fenster Beziehungen anzuzeigen.

Tabellen, die mit der Tabelle „Kunden“ verbunden sind

Die Tabelle Kunden ist mit der Tabelle Bestellungen verbunden, doch müssen der Tabelle Bestellungen erst dann Datensätze hinzugefügt werden, wenn der Kunde eine Bestellung aufgegeben hat. Daher werden Sie beim Hinzufügen eines Datensatzes zu einer Tabelle nicht notwendigerweise gezwungen, in zugehörigen Tabellen ebenfalls Daten hinzuzufügen.

Später gibt ein Kunde sein Geschäft auf. Nun müssen Sie den Kundendatensatz löschen. Außerdem müssen Sie die ausstehenden Bestellungen dieses Kunden stornieren. Angenommen, dass Sie zudem die Daten zur Verfolgung der abgeschlossenen Bestellungen, die von diesem Kunden aufgegeben wurden, nicht benötigen. In manchen Fällen möchten Sie frühere Bestellungen vielleicht nicht löschen, doch nehmen wir der Einfachheit halber an, dass Sie dies wünschen. Beim Löschen dieses Kunden werden auch einige zugehörige Datensätze in der Tabelle Bestellungen gelöscht. In der folgenden Abbildung werden die Datensätze aus den Bestellungen gezeigt, die zusammen mit dem Kundendatensatz gelöscht werden müssen.

Zu löschende Bestelldatensätze

Mit dem Löschen der zugehörigen Bestelldatensätze ist die Arbeit jedoch noch nicht getan. Sie müssen die Auswirkungen des Löschens von Bestelldatensätzen auf die Tabellen einschätzen, die mit der Tabelle Bestellungen verbunden sind. Wechseln Sie zurück zum Fenster Beziehungen (klicken Sie mit der rechten Maustaste auf den Hintergrund des Datenbankfensters, und klicken Sie auf Beziehungen, um das Fenster anzuzeigen), und ermitteln Sie die Tabellen, die mit der Tabelle Bestellungen verbunden sind.

Tabellen, die mit der Tabelle „Bestellungen“ verbunden sind

Mit der Tabelle Bestellungen sind die Tabellen Kunden, Versandfirmen, Bestelldetails und Personal verbunden. Beim einfachen Löschen einer Bestellung darf niemals auch der zugehörige Kundendatensatz, Versandfirmendatensatz oder Personaldatensatz gelöscht werden. Andererseits sollten die Details einer Bestellung entfernt werden, wenn die Bestellung nicht mehr vorhanden ist. Daher müssen Sie sicherstellen, dass beim Löschen eines Bestelldatensatzes in der Tabelle Bestellungen die entsprechenden Datensätze für die Bestelldetails in der Tabelle Bestelldetails gelöscht werden.

In der folgenden Abbildung werden in jedem Unterdatenblatt die Datensätze für die Bestelldetails angezeigt, die den jeweiligen zu löschenden Bestelldatensätzen entsprechen.

Datensätze für Bestelldetails, die zusammen mit dem Bestelldatensatz und dem Kundendatensatz gelöscht werden müssen

Zusammengefasst gesagt, müssen beim Löschen eines einzelnen Kundendatensatzes auch mehrere Datensätze in den Tabellen Bestellungen und Bestelldetails gelöscht werden. Gleichzeitig ist es beim Löschen von Datensätzen in der Tabelle Bestellungen nicht erforderlich, Datensätze in den Tabellen Versandfirmen und Personal zu löschen.

Im Folgenden erfahren Sie, wie Sie das automatische Löschen von Datensätzen in den Tabellen Bestellungen und Bestelldetails beim Löschen eines Kundendatensatzes aktivieren.

Klicken Sie im Fenster Beziehungen auf das mittlere Segment der Zeile, die die Tabellen Kunden und Bestellungen verbindet, um das Fenster Beziehungen bearbeiten zu öffnen.

Dialogfeld „Beziehungen bearbeiten“

Die Tabellen sind über das in beiden Tabellen vorhandene Feld Kunden-Nr miteinander verbunden. Die Kontrollkästchen Mit referenzieller Integrität und Aktualisierungsweitergabe an verwandte Felder sind bereits aktiviert, jedoch nicht das Kontrollkästchen Löschweitergabe an verwandte Datensätze.

Über das erste Kontrollkästchen wird die referenzielle Integrität erzwungen. Die referenzielle Integrität ist ein Satz von Regeln, mit denen, wie im Folgenden erläutert, sichergestellt wird, dass die Synchronisierung zwischen Datenbank und wirklicher Welt erhalten bleibt:

  • Regel 1: Sie können im Fremdschlüsselfeld der zugehörigen Tabelle keinen Wert eingeben, der im Primärschlüssel der Mastertabelle nicht vorhanden ist. Sie können jedoch im Fremdschlüssel einen Null-Wert eingeben und auf diese Weise angeben, dass die Datensätze nicht zusammengehörig sind. Es darf z. B. kein Datensatz vorhanden sein, der einem nicht vorhandenen Kunden zugewiesen ist, jedoch können Bestellungen vorhanden sein, die keinem Verkaufsberater zugewiesen sind. Dazu geben Sie im Personalfeld einen Null-Wert ein.
  • Regel 2: Sie können in einer Mastertabelle keinen Datensatz löschen, wenn in einer zugehörigen Tabelle übereinstimmende Datensätze vorhanden sind. Zum Beispiel können Sie in der Tabelle Personal keinen Personaldatensatz löschen, wenn in der Tabelle Bestellungen dem betreffenden Mitarbeiter Bestellungen zugewiesen sind.
  • Regel 3: Sie können in der Mastertabelle keinen Primärschlüsselwert löschen, wenn dieser Datensatz mit anderen Datensätzen verbunden ist. Zum Beispiel können Sie in der Tabelle Kunden keinen Kunden-Code ändern, wenn in der Tabelle Bestellungen diesem Kunden Bestellungen zugeordnet sind.

Die Regeln werden jedes Mal erzwungen, wenn Sie Daten in der Datenbank hinzufügen, bearbeiten oder löschen. Wenn eine Aktion gegen eine Regel verstößt, wird in Access eine Meldung angezeigt und die Aktion abgebrochen. Versuchen Sie z. B., in der Tabelle Kunden den Kundendatensatz für Wide World Importers zu löschen. Die Beziehung zwischen den Tabellen Kunden und Bestellungen erzwingt die referenzielle Integrität, und wenn Sie versuchen, in der Tabelle Kunden einen Datensatz zu löschen, wird die folgende Meldung angezeigt:

Meldung, dass der Kundendatensatz nicht gelöscht werden kann

Die referenzielle Integrität kann in einer Beziehung erzwungen werden, wenn die folgenden Bedingungen erfüllt sind:

  • Das zugehörige Feld (in diesem Fall Kunden-Nr) in der Mastertabelle (Kunden) ist ein Primärschlüssel oder besitzt einen eindeutigen Index.
  • Die zugehörigen Felder (Kunden-Nr) weisen denselben Datentyp auf.

     Hinweis   Diese Regel kennt zwei Ausnahmen. Ein Feld AutoWert kann mit einem Feld Zahl verbunden werden, dessen Feldgröße-Eigenschaft auf Long Integer festgelegt ist. Außerdem kann ein Feld AutoWert mit der Feldgröße-Eigenschaft Replikations-ID mit einem Feld Zahl verbunden werden, dessen Feldgröße-Eigenschaft auf Replikations-ID festgelegt ist.

  • Beide Tabellen gehören derselben Access-Datenbank an.

     Hinweis   Wenn die Tabellen verknüpft sind, müssen sie das Access-Format aufweisen. Sie müssen die Datenbank öffnen, in der sie gespeichert sind, um die referenzielle Integrität festzulegen. Für verknüpfte Tabellen in Datenbanken in anderen Formaten kann die referenzielle Integrität nicht erzwungen werden.

Wenn in einer Beziehung zwischen zwei Tabellen die referenzielle Integrität aktiviert ist, können Sie optional automatische Aktualisierungen oder Löschvorgänge für Datensätze in den betreffenden Tabellen aktivieren. Wenn Sie diese beiden Optionen aktivieren, sollten Sie sich bewusst sein, dass Lösch- und Aktualisierungsvorgänge, die normalerweise durch die Regeln der referenziellen Integrität verhindert würden, zulässig sind. Wenn z. B. die Einstellung Löschweitergabe an verwandte Datensätze nicht ausgewählt ist, lässt Access das Löschen eines Kundendatensatzes erst zu, wenn keine Datensätze in der Tabelle Bestellungen mehr vorhanden sind, die auf diese Kundennummer verweisen. Durch Aktivieren des Kontrollkästchens Löschweitergabe an verwandte Datensätze wird dieses Verhalten geändert. Wenn Sie versuchen, einen Kundendatensatz zu löschen, nachdem Sie dieses Kontrollkästchen aktiviert haben, werden die zugehörigen Datensätze automatisch gelöscht, und es wird keine Fehlermeldung angezeigt.

Wenn Sie bei der Definition einer Beziehung zwischen Tabellen das Kontrollkästchen Aktualisierungsweitergabe an verwandte Felder aktivieren, wird jedes Mal, wenn Sie den Primärschlüssel eines Datensatzes in der Mastertabelle ändern, automatisch und in allen zugehörigen Datensätzen der Primärschlüssel auf den neuen Wert aktualisiert.

Wenn Sie bei der Definition einer Beziehung zwischen Tabellen das Kontrollkästchen Löschweitergabe an verwandte Datensätze aktivieren, werden jedes Mal, wenn Sie Datensätze in der Mastertabelle löschen, automatisch die zugehörigen Datensätze in der zugehörigen Tabelle gelöscht. Wenn Sie z. B. einen Kundendatensatz in der Tabelle Kunden löschen, werden sämtliche Bestellungen des Kunden automatisch in der Tabelle Bestellungen gelöscht. Wenn das Kontrollkästchen für die Beziehung zwischen Bestellungen und Bestelldetails aktiviert ist und Sie den Kundendatensatz löschen, werden die Datensätze in den Tabellen Bestellungen und Bestelldetails daher automatisch ebenfalls gelöscht.

In manchen Fällen müssen die Regeln der referenziellen Integrität erzwungen werden, doch dürfen die zugehörigen Datensätze nicht gelöscht werden. Zum Beispiel erfordert das Löschen eines Datensatzes in einer Tabelle Personal nicht das Löschen der Bestellungen, die von dem betreffenden Mitarbeiter bearbeitet wurden, sodass in der Beziehung zwischen den Tabellen Personal und Bestellungen das Kontrollkästchen Mit referenzieller Integrität, aber nicht das Kontrollkästchen Löschweitergabe an verwandte Datensätze aktiviert wird. Wenn Sie jedoch versuchen, den Personaldatensatz zu löschen, wird eine Fehlermeldung angezeigt und der Vorgang abgebrochen. In solchen Fällen müssen Sie die Tabelle Bestellungen öffnen, die Datensätze suchen, die auf die Personalnummer verweisen und das Feld PersonalNr bearbeiten, indem Sie die Nummer durch die Personalnummer eines anderen Mitarbeiters ersetzen. Dies ist wichtig, um Bestellungen zu vermeiden, die Mitarbeitern zugewiesen sind, die nicht mehr dem Unternehmen angehören.

Bearbeiten der Mitarbeiterspalte im Datenblatt „Kunden“, um alle Verweise auf den Mitarbeiter zu löschen

Wenn Sie sämtliche Verweise auf die Nummer des Mitarbeiters ersetzt haben, dessen Datensatz Sie löschen möchten, können Sie den Datensatz in der Tabelle Personal löschen.

Seitenanfang Seitenanfang

Vor dem Löschen von Datensätzen

Bevor Sie Datensätze in einer Datenbank löschen, gehen Sie wie folgt vor:

  • Stellen Sie sicher, dass die Datenbank nicht schreibgeschützt ist. Den Status der Datenbank überprüfen Sie, indem Sie in Microsoft Windows Explorer mit der rechten Maustaste auf die Datenbankdatei (.mdb) klicken und anschließend Eigenschaften auswählen. Überprüfen Sie im Dialogfeld Eigenschaften das Kontrollkästchen Schreibgeschützt. Wenn dieses aktiviert ist, deaktivieren Sie es.
  • Stellen Sie sicher, dass Sie die Berechtigung zum Löschen von Datensätzen in der Datenbank besitzen.
  • Bitten Sie alle anderen Benutzer der Datenbank, die Objekte zuschließen, mit denen Sie arbeiten möchten. Auf diese Weise vermeiden Sie Sperrungen.

     Tipp   Um exklusiven Zugriff auf eine Datenbank zu erhalten, öffnen Sie diese. Klicken Sie im Menü Extras auf Optionen. Klicken Sie auf der Registerkarte Weitere unter Standardöffnungsmodus auf Exklusiv. Öffnen Sie Datenbanken jedoch nur dann auf diese Weise, wenn es wirklich notwendig ist.

  • Sichern Sie die Datenbank, bevor Sie mit dem Bearbeiten oder Löschen von Datensätzen beginnen. Einige Löschvorgänge können rückgängig gemacht werden, doch ist es sicherer, eine Sicherungskopie zu erstellen, sodass Sie bei Bedarf stets zur Originalkopie zurückwechseln können.

    Klicken Sie zum Sichern einer Datenbank im Menü Datei auf Datenbank sichern. Geben Sie im Dialogfeld Sicherungskopie speichern als einen Namen und einen Speicherort für die Sicherungskopie an, und klicken Sie dann auf Speichern. Die Originaldatei wird geschlossen, eine Sicherungskopie wird erstellt, und anschließend wird die Originaldatei erneut geöffnet. Um zu einer Sicherungskopie zurückzukehren, schließen Sie die Originaldatei und benennen Sie sie um, sodass für die Sicherungskopie der Name der Originalversion verwendet werden kann. Weisen Sie den Namen der Originalversion der Sicherungskopie zu, und öffnen Sie sie in Access.

  • Überprüfen Sie die Auswirkungen beim Löschen von Datensätzen. Ermitteln Sie die Beziehungen, an denen die Tabelle beteiligt ist, in der Sie Datensätze löschen möchten, und überprüfen Sie für jede dieser Beziehungen die Einstellungen Mit referenzieller Integrität und Löschweitergabe an verwandte Datensätze.
    • Wenn Sie die Regeln der referenziellen Integrität erzwingen möchten und die Beziehung die Bedingungen zum Erzwingen der Regeln der referenziellen Integrität erfüllt, aktivieren Sie das Kontrollkästchen Mit referenzieller Integrität. Wenn Sie dieses Kontrollkästchen aktivieren, können Sie das automatische Löschen zugehöriger Datensätze aktivieren.
    • Wenn die zugehörigen Datensätze automatisch gelöscht werden sollen, aktivieren Sie das Kontrollkästchen Löschweitergabe an verwandte Datensätze.

       Hinweis   Wenn Sie dieses Kontrollkästchen für eine zugehörige Tabelle aktivieren, sollten Sie die Einstellungen aller Beziehungen überprüfen, von denen diese zugehörige Tabelle einen Teil bildet.

    • Wenn die zugehörigen Datensätze nicht gelöscht werden sollen, bearbeiten Sie diese so, dass sie nicht auf die Nummer des Datensatzes verweisen, den Sie löschen möchten.
  • Wenn die Tabelle, in der Sie Datensätze löschen möchten, verknüpft ist, stellen Sie sicher, dass die Tabelle das Löschen von Datensätzen unterstützt, da dies nicht in allen verknüpften Tabellen zulässig ist. Sie können z. B. Datensätze in einer Tabelle löschen, die mit einer Access-Datenbank verknüpft ist, doch wenn Sie versuchen, Datensätze in einer Tabelle zu löschen, die mit einem Microsoft Office Excel 2003-Tabellenblatt verknüpft ist, wird die Meldung ISAM unterstützt das Löschen von Daten in verknüpften Tabellen nicht angezeigt. In diesem Fall öffnen Sie am besten die Quelldatei (in diesem Fall das Tabellenblatt), und löschen Sie die unerwünschten Daten dort.

Seitenanfang Seitenanfang

Informationen zu den auszuführenden Schritten

Je nach spezifischer Situation können Sie Datensätze auf vielen verschiedenen Wegen löschen. Die verfügbaren Methoden reichen vom Löschen eines einzelnen Datensatzes durch Auswählen in einem Formular bis zum Erstellen einer Abfrage, bei der in einem einzelnen Vorgang Hunderte von Datensätzen gelöscht werden, die eine bestimmte Bedingung erfüllen.

Was möchten Sie tun?

Auswählen und Löschen eines oder mehrerer Datensätze beim Navigieren in einer Datenblatt-, Formular- oder Datenzugriffsseiten-Ansicht

Löschen aller Datensätze in einer Tabelle (ohne die Tabelle selbst zu löschen)

Löschen einer Tabelle und der enthaltenen Datensätze

Erstellen einer Löschabfrage, um Datensätze zu löschen, die bestimmte Bedingungen erfüllen

Löschen doppelter Datensätze (wobei die originalen und die Duplikatdatensätze in der gleichen oder in unterschiedlichen Tabellen enthalten sein können)

Löschen von Datensätzen, die keine Übereinstimmung in einer anderen Tabelle besitzen

Verschieben von Datensätzen in eine Archivtabelle oder Datenbank

Seitenanfang Seitenanfang

Auswählen und Löschen eines oder mehrerer Datensätze beim Navigieren in einer Datenblatt-, Formular- oder Datenzugriffsseiten-Ansicht

  1. Öffnen Sie die Tabelle mit dem zu löschenden Datensatz in der Datenblattansicht. Öffnen Sie z. B. die Tabelle Kunden, und löschen Sie den Datensatz für den Kunden Wide World Importers.

     Hinweis   Um einige Datensätze in der zugrunde liegenden Tabelle zu löschen, können Sie eine Abfrage, ein Formular oder eine Datenzugriffsseite verwenden. Sie müssen jedoch sicherstellen, dass das Objekt Löschvorgänge in der Datenblatt-, Formular- oder Datenzugriffsseiten-Ansicht unterstützt.

    AnzeigenÜberprüfen Sie die Abfrage, das Formular oder die Datenzugriffsseite daraufhin, ob Löschvorgänge unterstützt werden

    Die Abfrage darf in der Datenblattansicht nicht schreibgeschützt sein. Manche Abfragen, z. B. Union-Abfragen, sind in der Datenblattansicht schreibgeschützt. Solche Abfragen können Sie zum Löschen von Datensätzen nicht verwenden.

    Um ein Formular zu überprüfen, öffnen Sie dieses in der Entwurfsansicht. Stellen Sie sicher, dass die LöschenZulassen-Eigenschaft des Formulars auf Ja festgelegt ist. Außerdem muss die Datensatzmarkierer-Eigenschaft des Formulars auf Ja festgelegt sein, oder in dem Formular muss eine benutzerdefinierte Schaltfläche zum Auswählen oder Löschen von Datensätzen bereitgestellt werden.

    Um eine Datenzugriffsseite zu überprüfen, öffnen Sie diese in der Entwurfsansicht. Stellen Sie sicher, dass die LöschenZulassen-Eigenschaft der Gruppenebene, die den Datensatz enthält, auf Wahr festgelegt ist. Außerdem muss der Datensatznavigationsbereich der entsprechenden Gruppenebene die Schaltfläche Löschen oder eine benutzerdefinierte Schaltfläche zum Löschen von Datensätzen enthalten.


  2. Um einen einzelnen Datensatz in der Datenblattansicht oder der Formularansicht zu löschen, wählen Sie den Datensatz aus, indem Sie auf das graue Quadrat (den Datensatz markieren) am linken Rand klicken. Drücken Sie dann ENTF.

    Um in der Datenblattansicht oder in Endlosformularen nacheinander aufgeführte Datensätze zu löschen, klicken Sie auf den ersten zu löschenden Datensatz, halten Sie dann die UMSCHALTTASTE gedrückt, während Sie auf das graue Quadrat (den Datensatz markieren) des letzten Datensatzes klicken. Auf diese Weise wird eine Gruppe von Datensätzen ausgewählt. Drücken Sie dann ENTF.

    Um einen Datensatz in der Datenzugriffsseiten-Ansicht zu löschen, klicken Sie auf ein Feld, das Teil des Datensatzes ist, und klicken Sie dann im entsprechenden Datensatznavigationsbereich auf die Schaltfläche Löschen.

  3. Je nach Beziehungen der Tabelle und deren Definition wird eine der folgenden Warnungen angezeigt:
    • Wenn alle Beziehungen, an denen die Tabelle Kunden beteiligt ist (Kunden-Bestellungen) und die Beziehungen der zugehörigen Tabellen (Bestellungen-Bestelldetails) usw. bis zur letzten Tabelle in der Kette der Beziehungen so definiert sind, dass alle zugehörigen Datensätze gelöscht werden können (das Kontrollkästchen Löschweitergabe an verwandte Datensätze ist für jede Beziehung aktiviert), wird die folgende Meldung angezeigt:

      Meldung mit Bestätigungsaufforderung

      Klicken Sie zum Bestätigen auf Ja. Wenn Sie sich nicht sicher sind, dass Sie zugehörige Datensätze löschen möchten, klicken Sie auf Nein. Nützliche Informationen finden Sie in diesem Fall unter Auswirkungen beim Löschen eines Datensatzes.

    • Wenn eine der zugehörigen Tabellen in der Kette der Beziehungen das Löschen zugehöriger Datensätze nicht zulässt, wird die folgende Meldung angezeigt:

      Meldung, dass beim Löschvorgang ein Fehler aufgetreten ist, da die zugehörige Tabelle keine Löschweitergabe zulässt

      Diese Meldung wird angezeigt, wenn die Beziehung Bestellungen-Bestelldetails keine Löschweitergabe zulässt. Um dieses Problem zu beheben, überprüfen Sie die Beziehungseinstellungen im Dialogfenster Beziehungen bearbeiten. Informationen finden Sie auch im Abschnitt Auswirkungen beim Löschen eines Datensatzes.

    • Wenn eine der Beziehungen nur die referenzielle Integrität erzwingt, aber keine Löschweitergabe zulässt, wird die folgende Meldung angezeigt:

      Meldung, dass der Kundendatensatz nicht gelöscht werden kann

      Wenn die Beziehung Kunden-Bestellungen keine Löschweitergabe zulässt, können Sie einen Kundendatensatz erst löschen, wenn keine Bestelldatensätze mehr vorhanden sind, die auf die Nummer des Kunden Wide World Importers verweisen. Informationen zum Beheben dieses Problems finden Sie im Abschnitt Die Regeln der referenziellen Integrität müssen erzwungen werden, doch dürfen die zugehörigen Datensätze nicht gelöscht werden.

    • Wenn die Tabelle nicht mit anderen Tabellen verbunden ist oder ihre Beziehungen die referenzielle Integrität nicht erzwingen, wird die folgende Meldung angezeigt:

      Meldung mit der Bestätigungsaufforderung, wenn keine zugehörigen Datensätze vorhanden sind

      Klicken Sie zum Bestätigen auf Ja.

<Zurück zum Inhaltsverzeichnis>

Löschen aller Datensätze in einer Tabelle (ohne die Tabelle selbst zu löschen)

Um eine Tabelle, z. B. die Tabelle Kunden zu leeren, öffnen Sie diese in der Datenblattansicht. Klicken Sie mit der rechten Maustaste auf das graue Quadrat links der ersten Spaltenüberschrift, auch als Schaltfläche Alle auswählen bezeichnet, und klicken Sie auf Datensatz löschen.

Löschen aller Datensätze einer Tabelle in einem Vorgang

Je nach Beziehungen der Tabelle und deren Definition wird eine der folgenden Warnungen angezeigt:

  • Wenn alle Beziehungen, an denen die Tabelle Kunden beteiligt ist (z. B. Kunden-Bestellungen) und die Beziehungen der zugehörigen Tabellen (Bestellungen-Bestelldetails) usw. bis zur letzten Tabelle in der Kette der Beziehungen so definiert sind, dass alle zugehörigen Datensätze gelöscht werden können (das Kontrollkästchen Löschweitergabe an verwandte Datensätze ist für jede Beziehung aktiviert), wird die folgende Meldung angezeigt:

    Meldung mit der Bestätigungsaufforderung

    Klicken Sie zum Bestätigen auf Ja. Wenn Sie sich nicht sicher sind, dass Sie zugehörige Datensätze löschen möchten, klicken Sie auf Nein. Nützliche Informationen finden Sie in diesem Fall unter Auswirkungen beim Löschen eines Datensatzes.

  • Wenn eine der zugehörigen Tabellen in der Kette der Beziehungen das Löschen zugehöriger Datensätze nicht zulässt, wird die folgende Meldung angezeigt:

    Meldung, dass beim Löschvorgang ein Fehler aufgetreten ist, da die zugehörige Tabelle keine Löschweitergabe zulässt

    Diese Meldung wird angezeigt, wenn die Beziehung zwischen den Tabellen Bestellungen und Bestelldetails keine Löschweitergabe zulässt. Um dieses Problem zu beheben, überprüfen Sie die Beziehungseinstellungen im Dialogfenster Beziehungen bearbeiten. Informationen finden Sie auch im Abschnitt Auswirkungen beim Löschen eines Datensatzes.

  • Wenn eine der Beziehungen nur die referenzielle Integrität erzwingt, aber keine Löschweitergabe zulässt, wird die folgende Meldung angezeigt:

    Meldung, dass der Kundendatensatz nicht gelöscht werden kann

    Wenn die Beziehung zwischen den Tabellen Kunden und Bestellungen keine Löschweitergabe zulässt, können Sie einen Kundendatensatz erst löschen, wenn keine Bestelldatensätze mehr vorhanden sind, die auf die Nummer des Kunden Wide World Importers verweisen. Informationen zum Beheben dieses Problems finden Sie im Abschnitt Die Regeln der referenziellen Integrität müssen erzwungen werden, doch dürfen die zugehörigen Datensätze nicht gelöscht werden.

  • Wenn die Tabelle nicht mit anderen Tabellen verbunden ist oder ihre Beziehungen die referenzielle Integrität nicht erzwingen, wird die folgende Meldung angezeigt:

    Meldung mit der Bestätigungsaufforderung, wenn keine zugehörigen Datensätze vorhanden sind

    Klicken Sie zum Bestätigen auf Ja.

<Zurück zum Inhaltsverzeichnis>

Löschen einer Tabelle und der enthaltenen Datensätze

Beim Löschen einer Tabelle werden zugehörige Tabellen oder zugehörige Datensätze in der Datenbank nicht gelöscht. Wenn die Tabelle jedoch zum Löschzeitpunkt mit anderen Tabellen verbunden ist, wird beim Löschvorgang die Beziehung zwischen dieser Tabelle und eventuellen anderen Tabellen gelöscht. Wenn Sie z. B. die Tabelle Kunden löschen und diese Tabelle mit der Tabelle Bestellungen verbunden ist, wird zusammen mit der Tabelle Kunden die Beziehung zwischen der Tabelle Kunden und der Tabelle Bestellungen gelöscht, jedoch bleibt die Tabelle Bestellungen davon unberührt.

  1. Um in einer Datenbank eine Tabelle und deren gesamten Inhalt zu löschen, wählen Sie die Tabelle im Datenbankfenster aus, und drücken Sie ENTF.
  2. Wenn Sie zum Bestätigen aufgefordert werden, klicken Sie auf Ja.
  3. Wenn die Tabelle mit anderen Tabelle verbunden ist, wird die folgende Meldung angezeigt:

    Meldung mit der Aufforderung zum Löschen der Tabellenbeziehungen

  4. Klicken Sie zum Bestätigen auf Ja.

Die Tabelle, ihr Inhalt und alle zugehörigen Beziehungen werden in der Datenbank gelöscht.

<Zurück zum Inhaltsverzeichnis>

Löschen von Datensätzen, die bestimmte Bedingungen erfüllen

Um Datensätze zu löschen, die eine oder mehrere Bedingungen erfüllen, verwenden Sie einen bestimmten Typ von Abfrage, der als Löschabfrage bezeichnet wird. Wenn die Bedingungen im Laufe der Zeit unverändert bleiben, z. B. „alle Bestellungen, die vor mehr als 90 Tagen aufgegeben wurden“, können Sie die Bedingungen beim Erstellen der Löschabfrage in der Zeile Kriterien der Abfragefelder angeben. Wenn sich die Bedingungen im Laufe der Zeit ändern und Sie die Bedingungen beim Ausführen der Abfrage angeben möchten, können Sie die Löschabfrage so konfigurieren, dass Sie zur Eingabe aufgefordert werden.

Die Bedingungen können auf Feldern in derselben oder in einer anderen Datenbank beruhen. Sie können z. B. Bestelldatensätze löschen, die auf dem Datum der Bestellung oder auf dem Standort des zugehörigen Kunden beruhen. Im ersten Fall befindet sich das Bestelldatumsfeld in der gleichen Tabelle wie die Bestelldatensätze, im zweiten Fall befindet sich das Ortsfeld in einer anderen Tabelle, d. h. in der Tabelle Kunden.

Wichtig  Bei einer Löschabfrage werden die Einstellungen Mit referenzieller Integrität und Löschweitergabe an verwandte Datensätze für die Beziehungen zwischen den Tabellen beachtet. Dies bedeutet, dass eine Löschabfrage zum Löschen von Bestelldatensätzen fehlschlägt, wenn die referenzielle Integrität für die Beziehung Bestellungen-Bestelldetails erzwungen, jedoch nicht die Löschweitergabeoption aktiviert wird. Entsprechend werden mit der Abfrage, wenn die Löschweitergabeoption für die Beziehung aktiviert wird, automatisch die Bestelldatensätze und die zugehörigen Datensätze in der Tabelle Bestelldetails gelöscht. Weitere Informationen finden Sie im Abschnitt Auswirkungen beim Löschen eines Datensatzes.

Im Folgenden wird beispielhaft eine Löschabfrage zum Löschen von Datensätzen erstellt, die den vor 90 Tagen aufgegebenen Bestellungen entsprechen. Diese Abfrage können Sie dann so ändern, dass beim Ausführen der Abfrage Benutzereingaben akzeptiert werden. Kurz vor Ende des Abschnitts können Sie die Abfrage so ändern, dass Datensätze auf der Grundlage von Werten in einer zugehörigen Tabelle gelöscht werden.

Stellen Sie sicher, dass die Beziehungen richtig eingerichtet sind. Klicken Sie mit der rechten Maustaste auf den Hintergrund des Datenbankfensters, und klicken Sie dann auf Beziehungen. Ermitteln Sie im Fenster Beziehungen die Tabellen, die mit der Tabelle Bestellungen verbunden sind, sowie die Einstellungen für die einzelnen Beziehungen. Die Tabelle Beziehungen ist mit der Tabelle Bestelldetails verbunden. Die Beziehung erzwingt die Regeln der referenziellen Integrität und lässt Löschweitergaben zu. Die Tabelle Bestellungen ist auch mit den Tabellen Versandfirmen, Personal und Kunden verbunden, doch wirkt sich das Löschen der Bestelldatensätze auf diese Tabellen nicht aus.

Tabellen, die mit der Tabelle „Bestellungen“ verbunden sind

  1. Klicken Sie im Datenbankfenster (Datenbankfenster: Das Fenster, das angezeigt wird, wenn Sie eine Access-Datenbank oder ein Access-Projekt öffnen. Es enthält Verknüpfungen zum Erstellen neuer Datenbankobjekte und zum Öffnen vorhandener Objekte.) unter Objekte auf Abfragen Schaltflächensymbol, und klicken Sie dann auf der Symbolleiste des Datenbankfensters auf Neu.
  2. Klicken Sie im Dialogfeld Neue Abfrage auf Entwurfsansicht, und klicken Sie dann auf OK.
  3. Doppelklicken Sie im Dialogfeld Tabelle anzeigen auf Bestellungen, und klicken Sie dann auf Schließen.
  4. Klicken Sie auf der Symbolleiste auf den Pfeil neben Abfragetyp Schaltflächensymbol, und klicken Sie dann auf Löschabfrage. Somit wird von einer Auswahlabfrage zu einer Löschabfrage gewechselt.
  5. Ziehen Sie das Sternchen (*) aus der Tabelle auf den Abfrageentwurfsbereich.

    Ziehen Sie das Sternchen (*) auf die Zeile „Feld“

    In der ersten Spalte wird in der Zeile Löschen der Eintrag Von, und in der Zeile Tabelle wird Bestellungen angezeigt. Dies gibt an, dass Zeilen in der Tabelle Bestellungen gelöscht werden.

  6. Als nächstes müssen Sie in der Zeile Kriterien die Bedingungen angeben. In der Spalte mit dem Sternchen (*) können Sie keine Kriterien angeben. Sie müssen dem Entwurfsbereich die Kriterienspalten hinzufügen und anschließend die Kriterien angeben. In diesem Fall sollen Datensätze gelöscht werden, bei denen die Differenz zwischen dem aktuellen Datum und dem Bestelldatum 90 Tage überschreitet, daher muss dem Entwurfsbereich die Spalte Bestelldatum hinzugefügt werden.

    Spalte „Bestelldatum“ im Entwurfsbereich

    In der Zeile Löschen wird in der zweiten Spalte Bedingung angezeigt.

  7. Geben Sie in der Zeile Kriterien in der zweiten Spalte die Zeichenfolge <DatAdd("d",-90, Date()) ein. Die DatAdd-Funktion addiert oder subtrahiert einen Zeitraum zu bzw. von einem angegebenen Datum. In diesem Beispiel gibt die Funktion das Datum des Tags zurück, der 90 Tage vor dem aktuellen Datum lag. Der "<"-Operator vergleicht dieses Datum mit dem Datum, an dem die jeweilige Bestellung aufgegeben wurde und wählt Datensätze aus, deren Bestelldaten älter als das berechnete Datum sind.

    Weitere Informationen zur DatAdd-Funktion (nur auf Englisch verfügbar) finden Sie auf der MSDN-Website.

  8. Klicken Sie auf der Symbolleiste auf Ansicht Schaltflächensymbol, um die Datensätze in einer Vorschau anzuzeigen, die gelöscht werden sollen. Wenn das aktuelle Datum der 14.10.1996 ist, werden Datensätze für Bestellungen gelöscht, die vor dem 17.7.1996 liegen.

    Bestelldatensätze, die gelöscht werden

  9. Speichern Sie die Abfrage als Bestellungen löschen, schließen Sie die Abfrage, und kehren Sie zum Datenbankfenster zurück.
  10. Suchen Sie die Abfrage im Datenbankfenster, und doppelklicken Sie darauf. Wenn Sie die Bestätigungsmeldungen nicht deaktiviert haben, werden Sie aufgefordert zu bestätigen, dass Sie mit dem Löschvorgang fortfahren möchten. Klicken Sie zweimal auf Ja, um zu bestätigen, dass Sie Datensätze mit der Abfrage löschen möchten.

    AnzeigenDiese Meldungsfelder sollen nicht bei jedem Ausführen dieser Abfrage angezeigt werden

    Klicken Sie im Menü Extras auf Optionen. Klicken Sie auf die Registerkarte Bearbeiten/Suchen. Deaktivieren Sie unter Bestätigen das Kontrollkästchen Aktionsabfragen.
  11. Wenn Sie alle vorangegangenen Schritte ausgeführt haben, über die Berechtigungen zum Löschen von Datensätzen in der Datenbank verfügen und die Datenbank nicht gesperrt oder schreibgeschützt ist, werden die alten Datensätze mit der Löschabfrage erfolgreich gelöscht. Öffnen Sie die Tabelle Bestellungen in der Datenblattansicht, um sich zu überzeugen, dass die Datensätze gelöscht wurden. Öffnen Sie auch die Tabelle Bestelldetails, um sicherzustellen, dass die zugehörigen Detaildatensätze gelöscht wurden.

Ändern Sie die Abfrage Bestellungen löschen nun so, dass Sie aufgefordert werden, als Kriterium für das Löschen von Datensätzen einen benutzerdefinierten Datumsbereich einzugeben. Schreiben Sie zunächst den Ausdruck, und gehen Sie dabei davon aus, dass sich die Datumsangaben nicht ändern. In diesem Fall lautet der Ausdruck „>Datumswert And <Datumswert“. Ersetzen Sie nun die Datumsangaben in dem Ausdruck durch in eckigen Klammern eingeschlossene Meldungen, z. B. [Anfangsdatum eingeben] und [Enddatum eingeben]. Der Ausdruck lautet nun folgendermaßen:

>[Anfangsdatum eingeben] And <[Enddatum eingeben]

Wenn Sie die Abfrage ausführen, versucht Access, die Kriterien auszuwerten. Wenn die Kriterien die Meldungen enthalten, werden diese wie dargestellt in eigenen Meldungsfeldern angezeigt.

Meldungsfelder mit der Aufforderung, Parameter zur Auswertung der Abfragekriterien anzugeben

Wenn Sie im ersten Meldungsfeld einen Wert eingeben und auf OK klicken, wird die zweite Meldung angezeigt. Zum Auswerten der Kriterien werden dann anstatt der Meldungen diese Werte verwendet.

Beachten Sie, dass mehrere Meldungen angezeigt werden können. Die Meldungen können sich auf ein einzelnes Feld oder auf mehrere Felder beziehen. Um z. B. Bestellungen anzuzeigen, die zwischen zwei bestimmten Daten von einem bestimmten Kunden aufgegeben wurden, können Sie den Benutzer dreimal zur Eingabe auffordern – des Anfangs- und des Enddatums sowie der Kundennummer.

In diesem Beispiel sollen zwei Meldungen angezeigt werden, eine für das Anfangsdatum und eine für das Enddatum, um es dem Benutzer zu ermöglichen, den Datumsbereich für das Löschen von Datensätzen anzugeben.

  1. Suchen Sie im Datenbankfenster die Abfrage, und klicken Sie einmal darauf, um sie auszuwählen. Doppelklicken Sie nicht darauf, da so die Abfrage ausgeführt wird.
  2. Klicken Sie auf der Symbolleiste des Datenbankfensters auf Entwurf, um die Abfrage in der Entwurfsansicht zu öffnen.
  3. Löschen Sie im Entwurfsbereich den Inhalt der Zeile Kriterien in der Spalte Bestelldatum. Geben Sie dann in der Zeile Kriterien die Zeichenfolge >[Anfangsdatum eingeben] And <[Enddatum eingeben] ein.
  4. Klicken Sie auf der Symbolleiste auf Ansicht Schaltflächensymbol.
  5. Die Meldung für das Anfangsdatum wird angezeigt. Geben Sie ein Datum ein, z. B., wie in der folgenden Abbildung dargestellt, den 1.1.97.

    Dialogfeld „Parameterwert eingeben“

  6. Klicken Sie auf OK. Eine weitere Meldung wird angezeigt, in der nach dem Enddatum gefragt wird. Geben Sie den 1.12.97 ein, und klicken Sie auf OK.
  7. Die Bestelldatensätze werden angezeigt, in denen das Bestelldatum zwischen dem 1.1.97 und dem 1.12.97 liegt. Wenn Sie diese Werte beim Ausführen der Abfrage angeben, werden die in der Ansicht angezeigten Datensätze gelöscht.

    Datensätze, die beim Ausführen der Abfrage gelöscht werden

  8. Speichern und schließen Sie die Abfrage, und kehren Sie anschließend zum Datenbankfenster zurück.
  9. Suchen Sie die Abfrage im Datenbankfenster, und doppelklicken Sie darauf. Klicken Sie einmal auf Ja, und geben Sie dann das Anfangs- und das Enddatum an. Klicken Sie erneut auf Ja, um zu bestätigen, dass Sie Datensätze mit der Abfrage löschen möchten.

    AnzeigenDie Bestätigungsmeldungen sollen nicht bei jedem Ausführen dieser Abfrage angezeigt werden

    Klicken Sie im Menü Extras auf Optionen. Klicken Sie auf die Registerkarte Bearbeiten/Suchen. Deaktivieren Sie unter Bestätigen das Kontrollkästchen Aktionsabfragen.
  10. Wenn Sie alle vorangegangenen Schritte ausgeführt haben, über die Berechtigungen zum Löschen von Datensätzen in der Datenbank verfügen und die Datenbank nicht gesperrt oder schreibgeschützt ist, werden mit der Löschabfrage die Datensätze gelöscht, deren Bestelldatum im angegebenen Bereich liegt. Öffnen Sie die Tabelle Bestellungen in der Datenblattansicht, um sich zu überzeugen, dass die Datensätze gelöscht wurden. Öffnen Sie auch die Tabelle Bestelldetails, um sicherzustellen, dass die zugehörigen Detaildatensätze gelöscht wurden.

Im Folgenden wird beschrieben, wie Datensätze gelöscht werden, die auf Werten in einer zugehörigen Tabelle beruhen. Sie erstellen eine Löschabfrage, mit der Datensätze gelöscht werden, die sich auf Kunden beziehen, die an einem bestimmten Ort tätig sind. Die Ortsinformationen sind im Feld Ort der Tabelle Kunden gespeichert, einer Tabelle, die mit der Tabelle Bestellungen verbunden ist.

  1. Klicken Sie im Datenbankfenster (Datenbankfenster: Das Fenster, das angezeigt wird, wenn Sie eine Access-Datenbank oder ein Access-Projekt öffnen. Es enthält Verknüpfungen zum Erstellen neuer Datenbankobjekte und zum Öffnen vorhandener Objekte.) unter Objekte auf Abfragen Schaltflächensymbol, und klicken Sie dann auf der Symbolleiste des Datenbankfensters auf Neu.
  2. Klicken Sie im Dialogfeld Neue Abfrage auf Entwurfsansicht und dann auf OK.
  3. Doppelklicken Sie im Dialogfeld Tabelle anzeigen auf die Tabellen Kunden und Bestellungen, und klicken Sie dann auf Schließen.

    Die Tabellen weisen eine 1:n-Beziehung auf, daher wird eine Linie angezeigt, die die beiden Tabellen verbindet.

    AnzeigenEs wird keine Linie angezeigt, die die Objekte in meiner Abfrage verbindet

    Wenn Ihre Abfrage auf zwei nicht verbundenen Tabellen oder auf einer Tabelle und einer Abfrage beruht, wird keine Linie angezeigt, die die beiden Objekte verbindet. Wenn eine Löschabfrage auf zwei nicht verbundenen Objekten beruht, wird beim Ausführen der Abfrage möglicherweise die Meldung Fehler beim Löschvorgang in den angegebenen Tabellen angezeigt.

    Um diese Meldung zu vermeiden, erstellen Sie eine Beziehung zwischen den beiden Objekten, indem Sie das allgemeine Feld aus der ersten Tabelle oder Abfrage auf das entsprechende Feld in der zweiten Tabelle oder Abfrage ziehen. Klicken Sie dann mit der rechten Maustaste auf den Hintergrund der oberen Hälfte des Abfragefensters, und klicken Sie auf Eigenschaften, um das Eigenschaftenblatt der Abfrage anzuzeigen. Legen Sie letztlich die EindeutigeDatensätze-Eigenschaft auf Ja fest.


  4. Klicken Sie auf der Symbolleiste auf den Pfeil neben Abfragetyp Schaltflächensymbol, und klicken Sie dann auf Löschabfrage. Somit wird von einer Auswahlabfrage zu einer Löschabfrage gewechselt.
  5. Ziehen Sie das Sternchen (*) aus der Tabelle auf den Abfrageentwurfsbereich.

    Ziehen Sie das Sternchen (*) aus der Tabelle „Bestellungen“ auf die Zeile „Feld“ der ersten Spalte

    In der ersten Spalte wird in der Zeile Löschen der Eintrag Von, und in der Zeile Tabelle wird Bestellungen angezeigt. Dies gibt an, dass Zeilen in der Tabelle Bestellungen gelöscht werden.

  6. Als nächstes müssen Sie in der Zeile Kriterien die Bedingungen angeben. In der Spalte mit dem Sternchen (*) können Sie keine Kriterien angeben. Sie müssen dem Entwurfsbereich die Kriterienfelder hinzufügen und anschließend die Kriterien angeben. Sie möchten beispielsweise Datensätze für Bestellungen löschen, die von Kunden aufgegeben wurden, die in London leben. Ziehen Sie das Ort aus der Tabelle Kunden auf die zweite Spalte im Abfrageentwurfsbereich.

    In der Zeile Löschen wird in der zweiten Spalte Bedingung angezeigt.

  7. Geben Sie in der Zeile Kriterien der Spalte Ort den Eintrag = „London“ ein.

     Tipp   Um es den Benutzern beim Ausführen einer Abfrage zu ermöglichen, einen Ort einzugeben, geben Sie in der Zeile Kriterien den Eintrag =[Ort des Kunden eingeben] ein.

  8. Klicken Sie auf der Symbolleiste auf Ansicht Schaltflächensymbol, um die Datensätze in einer Vorschau anzuzeigen, die gelöscht werden sollen.

    Bestellungen von Kunden aus London

  9. Die Datensätze werden für alle Bestellungen angezeigt, die von in London ansässigen Kunden aufgegeben wurden. Speichern und schließen Sie die Abfrage.
  10. Suchen Sie die Abfrage im Datenbankfenster, und doppelklicken Sie darauf. Wenn Sie die Bestätigungsmeldungen nicht deaktiviert haben, werden Sie aufgefordert zu bestätigen, dass Sie mit dem Löschvorgang fortfahren möchten. Klicken Sie zweimal auf Ja, um zu bestätigen, dass Sie Datensätze mit der Abfrage löschen möchten.

    AnzeigenDiese Meldungsfelder sollen nicht bei jedem Ausführen dieser Abfrage angezeigt werden

    Klicken Sie im Menü Extras auf Optionen. Klicken Sie auf die Registerkarte Bearbeiten/Suchen. Deaktivieren Sie unter Bestätigen das Kontrollkästchen Aktionsabfragen.
  11. Wenn Sie alle vorangegangenen Schritte ausgeführt haben, über die Berechtigungen zum Löschen von Datensätzen in der Datenbank verfügen und die Datenbank nicht gesperrt oder schreibgeschützt ist, werden mit der Löschabfrage die Bestellungen aus London gelöscht. Öffnen Sie die Tabelle Bestellungen in der Datenblattansicht, um sich zu überzeugen, dass die Datensätze gelöscht wurden. Öffnen Sie auch die Tabelle Bestelldetails, um sicherzustellen, dass die zugehörigen Detaildatensätze gelöscht wurden.
<Zurück zum Inhaltsverzeichnis>

Löschen doppelter Datensätze. Die originalen und die Duplikatdatensätze können in der gleichen oder in unterschiedlichen Tabellen enthalten sein.

In vielen Szenarios müssen doppelte Daten gesucht und gelöscht werden. Solche Szenarios sowie die schrittweisen Anleitungen zum Suchen, Ausblenden und Löschen doppelter Daten sind im Artikel Suchen, Löschen oder Ausblenden doppelter Datensätze in Access (nur auf Englisch verfügbar) beschrieben.

Löschen von Datensätzen, die keine Übereinstimmung in einer anderen Tabelle besitzen

Angenommen, die Regeln der referenziellen Integrität wurden für die Beziehung zwischen den Tabellen Kunden und Bestellungen bei deren Erstellen nicht erzwungen. Beim Löschen von Kundendatensätzen wurden die gesamte Zeit über die zugehörigen Bestelldatensätze nicht gelöscht. Nun sind einige Bestelldatensätze vorhanden, die auf eine ungültige Kundennummer verweisen oder auf Null festgelegt sind. Mit einer Inkonsistenzsuchabfrage können Sie alle Datensätze ermitteln, bei denen die Kundennummer auf einen Wert festgelegt ist, der in der Tabelle Kunden nicht vorhanden ist, einschließlich Null-Werte.

Erstellen Sie eine Abfrage mit dem Abfrage-Assistenten zur Inkonsistenzsuche. Mit diesem Assistenten wird eine besondere Abfrage erstellt, mit der zwei Tabellen verglichen und nur die Datensätze in der ersten Tabelle zurückgegeben werden, die keine Übereinstimmung in der zweiten Tabelle besitzen. Sie können diese Abfrage dann in der Datenblattansicht öffnen und alle Datensätze löschen, die in der Ansicht angezeigt werden.

  1. Klicken Sie im Datenbankfenster unter Objekte auf Abfrage, und klicken Sie dann auf der Symbolleiste des Datenbankfensters auf Neu.
  2. Klicken Sie im Dialogfeld Neue Abfrage auf Abfrage-Assistent zur Inkonsistenzsuche und dann auf OK.

    AnzeigenDie Meldung „Der Assistent ist nicht installiert oder ist deaktiviert“ wird angezeigt

    Dies kann vorkommen, weil Access im geschützten Modus (sandbox mode) ausgeführt wird, Microsoft Jet 4.0 SP8 oder höher aber nicht auf dem Computer installiert ist. Jet 4.0 SP8 oder höher ist erforderlich, damit Access im geschützten Modus voll funktionsfähig ist.

    Weitere Informationen zur Installation des Jet-Updates erhalten Sie im Office Online-Artikel About Microsoft Jet 4.0 SP8 or later (nur auf Englisch verfügbar) unter http://office.microsoft.com/assistance/preview.aspx?AssetID=HA010489351033.

    Weitere Informationen über den geschützten Modus (Sandbox Mode) erhalten Sie unter Informationen über den geschützten Modus (Sandbox Mode) des Microsoft Jet Ausdrucks-Editors.


  3. Wählen Sie die Tabelle Bestellungen aus, da diese die Datensätze enthält, für die Sie sich interessieren. Klicken Sie dann auf Weiter.
  4. Klicken Sie auf die Tabelle Kunden, da mit dieser Tabelle der Vergleich vorgenommen werden soll. Klicken Sie dann auf Weiter.
  5. In beiden Listen sollte das Feld Kunden-Nr ausgewählt sein. Dies bedeutet, dass die Tabellen auf der Grundlage der Kundennummern verbunden werden. Klicken Sie auf Weiter.
  6. Wählen Sie die Felder aus, die angezeigt werden sollen. Fügen Sie in diesem Fall die Felder BestellNr, Kunden-Nr und Bestelldatum hinzu. Klicken Sie auf Weiter.
  7. Übernehmen Sie den für Abfrage vorgeschlagenen Namen, und klicken Sie auf Fertig stellen, um die Datensätze in der Datenblattansicht anzuzeigen. Wie abgebildet, werden die Datensätze angezeigt, bei denen die Kundennummer Null oder ungültig ist.

    Datensätze mit Null- oder ungültigen Werten in der Spalte „Kunden“

  8. Löschen Sie alle oder einige der angezeigten Datensätze. Schritt-für-Schritt-Anweisungen finden Sie im Abschnitt zum Löschen von Datensätzen in der Datenblattansicht.
<Zurück zum Inhaltsverzeichnis>

Verschieben von Datensätzen in eine Archivtabelle oder Datenbank

Sie können von Zeit zu Zeit Datensätze löschen, um die Datenbank aktuell und die Dateigröße verwaltungsfähig zu halten. Zum Beispiel können Sie die Daten des vergangenen Quartals in der Vertriebsdatenbank zu Beginn jedes Quartals in eine Archivdatenbank verschieben.

Um Datensätze in einer Archivtabelle oder -datenbank zu verschieben, führen Sie die folgenden Schritte aus:

  1. Ermitteln Sie die Datensätze, die Sie archivieren möchten. Sie können eine gesamte Tabelle archivieren oder nur einige Datensätze, die bestimmte Bedingungen erfüllen.
  2. Kopieren Sie diese Datensätze in die Archivtabelle. Verwenden Sie dazu eine Anfügeabfrage.
  3. Löschen Sie die betreffenden Datensätze in der ursprünglichen Tabelle. Dazu verwenden Sie eine Löschabfrage.
  4. Sie können auch ein Makro erstellen, um die Schritte 1 bis 3 automatisch auszuführen.

Ausführliche Informationen zum Erstellen der Abfragen und des Makros finden Sie im Artikel Regelmäßiges Archivieren der Datensätze in einer Access-Datenbank (nur auf Englisch verfügbar).

<Zurück zum Inhaltsverzeichnis>

Zusammenfassung der Meldungen

In der folgenden Tabelle sind die verschiedenen Meldungen zusammengefasst, die beim Löschen eines oder mehrerer Datensätze angezeigt werden können.

Meldung Bedeutung Möglichkeiten
Datensätze nicht gelöscht - Daten sind schreibgeschützt.  (auf der Statusleiste) Die Datenbank ist schreibgeschützt. Ändern Sie die Dateieinstellungen so, dass die Datenbank nicht schreibgeschützt ist.
In diesem Formular können keine Datensätze gelöscht werden.  (auf der Statusleiste) Das Formular lässt das Löschen von Datensätzen nicht zu. Legen Sie die LöschenZulassen-Eigenschaft des Formulars auf Ja fest.
Fehler beim Löschvorgang in den angegebenen Tabellen.   Die Löschabfrage basiert auf Tabellen und Abfragen, die nicht verbunden sind. Die Abfrage kann die Datensätze in zwei Objekten nicht zusammenführen. Verbinden Sie die beiden Objekte im Abfrageentwurfsfenster. Ziehen Sie das allgemeine Feld aus der ersten Tabelle oder Abfrage auf das entsprechende Feld in der zweiten Tabelle oder Abfrage.

In manchen Fällen müssen Sie auch die EindeutigeDatensätze-Eigenschaft der Abfrage auf Ja festlegen. Klicken Sie mit der rechten Maustaste auf den Hintergrund der oberen Hälfte des Abfragefensters, und klicken Sie auf Eigenschaften, um das Eigenschaftenblatt der Abfrage anzuzeigen. Legen Sie dann die EindeutigeDatensätze-Eigenschaft auf Ja fest.

Der Datensatz kann nicht gelöscht oder geändert werden, da die Tabelle Tabellenname in Beziehung stehende Datensätze enthält.   Die Beziehung zwischen der Tabelle und der in der Fehlermeldung angegebenen Tabelle erzwingt die referenzielle Integrität, lässt jedoch keine Löschweitergaben zu. Aktivieren Sie Löschweitergaben, indem Sie im Dialogfeld Beziehungen bearbeiten das Kontrollkästchen Löschweitergabe an verwandte Datensätze aktivieren, oder stellen Sie sicher, dass die zugehörige Tabelle keine Verweise auf die zu löschenden Werte enthält.
Weitergabe kann nicht ausgeführt werden. Da Detaildatensätze in der Tabelle Tabellenname enthalten sind, würden die Regeln für die referenzielle Integrität verletzt.   Eine der zugehörigen Tabellen in der Kette der Beziehungen erzwingt die referenzielle Integrität, lässt jedoch keine Löschweitergaben zu. Überprüfen Sie die Einstellungen der betroffenen Beziehung im Dialogfeld Beziehungen bearbeiten. Wenn das Kontrollkästchen Löschweitergabe an verwandte Datensätze nicht aktiviert ist, aktivieren Sie es.

Sie können auch den Inhalt der in der Meldung angegebenen Tabelle so bearbeiten, dass er keine Verweise auf die zu löschenden Werte enthält.

Beziehungen, die Löschweitergaben angeben, haben zur Folge, dass n
Datensätze aus dieser Tabelle sowie aus verwandten Tabellen gelöscht werden.
  

Sind Sie sicher, dass Sie diese Datensätze löschen möchten?  

Alle Tabellen, die direkt oder indirekt mit der Tabelle verbunden sind, lassen Löschweitergaben zu. Bei dem Vorgang werden Datensätze in der aktuellen Tabelle und in einer oder mehreren zugehörigen Tabellen gelöscht. Klicken Sie auf Ja, wenn Sie diese Datensätze löschen möchten.

Klicken sie auf Nein, um den Vorgang abzubrechen.

Sie beabsichtigen, n Datensätze zu löschen.  

Sie können diese Änderung nicht rückgängig machen. Sind Sie sicher, dass Sie diese Datensätze löschen möchten  

Das Löschen von Datensätzen in dieser Tabelle wirkt sich auf andere Tabellen nicht aus. Klicken Sie auf Ja, wenn Sie diese Datensätze löschen möchten.

Klicken Sie auf Nein, um den Vorgang abzubrechen.

Sie können die Tabelle Tabellenname erst löschen, nachdem deren Beziehungen zu anderen Tabellen gelöscht sind.  

Möchten Sie, dass Microsoft Access die Beziehungen jetzt löscht?  

Die Tabelle, die Sie zu löschen versuchen, ist mit anderen Tabellen verbunden. Klicken Sie auf Ja, um die Tabelle, deren Inhalt und alle zugehörigen Beziehungen zu löschen.

Seitenanfang Seitenanfang

Zugehörige Vorgänge

Schreiben einer DELETE-Anweisung, die mit dem Code verwendet wird  Weitere Informationen finden Sie im Thema DELETE-Anweisung.

 Tipp   Die einfachste Möglichkeit, die richtige SQL-Anweisung für die Verwendung in Code zu erhalten, besteht darin, die Abfrage in der Entwurfsansicht zu erstellen und dann zur SQL-Ansicht zu wechseln, um die von der Abfrage generierte SQL-Anweisung anzuzeigen. Anschließend können Sie diese Anweisung kopieren und im Code einfügen.

Komprimieren von Access-Datenbanken  Nachdem Sie eine größere Anzahl von Datensätzen gelöscht haben, können Sie eine Datenbank komprimieren, um die Dateigröße zu verringern und die Leistung zu verbessern. Schritt-für-Schritt-Anweisungen finden Sie unter Komprimieren und Reparieren einer Access-Datei.

Zurücksetzen von AutoWert-Feldern  Nach dem Löschen von Datensätzen bemerken Sie möglicherweise Lücken in den Werten eines AutoWert-Felds. Beim Löschen von Datensätzen oder Komprimieren einer Datenbank werden die Werte in AutoWert-Feldern nicht automatisch zurückgesetzt. Informationen zum Zurücksetzen eines AutoWert-Felds finden Sie im Microsoft Knowledge Base-Artikel Zurücksetzen eines AutoWert-Felds in Access.

Seitenanfang Seitenanfang

Anzeige