Doppelte Datensätze aufspüren und löschen

Autor: Klaus Giesen, Wuppertal

Doppelte Datensätze können Plage und Fluch einer jeden Access-Datenbank sein. Abgesehen vom Speicherplatzbedarf und der damit verbundenen Performance-Beeinträchtigung treten noch andere und möglicherweise schwerwiegendere Probleme auf. Dazu zählen beispielsweise überflüssige Sendungen bei Mailingaktionen oder schlicht und einfach der schlechte Eindruck, der entsteht, wenn Kunden mehrfach die gleiche Post erhalten. Deshalb sollten in solchen Datenbankanwendungen passende Möglichkeiten vorhanden sein, diese doppelten Datensätze bequem aufzuspüren und zu entfernen.

Die Beispieldatenbank, die auf der beiliegenden CD-ROM für Access 97 Doppelt97.mdb und Access 2000 Doppelt2000.mdb (Rubrik Musterlösungen) vorhanden ist, ist eine einfache Kontaktverwaltung. Die Tabelle tblKontakte enthält ca. 140 Datensätze mit etlichen Duplikaten.

Bild 1: Das Dialogfenster Neue Abfrage

Access verfügt über einen eingebauten Assistenten zur Suche von doppelten Datensätzen. Im Folgenden finden Sie zunächst die Beschreibung der Anwendung des Assistenten und anschließend die theoretischen Grundlagen.

Der Abfrage-Assistent zurDuplikatsuche

Die Suche nach Duplikaten in der Tabelle tblKontakte der Beispieldatenbank erfolgt bei diesem Beispiel über die Felder Nachname und Vorname.

Bild 2: Auswahl der Tabelle

  • Klicken Sie im Datenbankfenster unter Abfragen auf die Schaltfläche Neu.
  • Wählen Sie im Dialogfenster Neue Abfrage den Abfrage-Assistenten zur Duplikatsuche aus (siehe Bild 1).
  • Im nächsten Schritt des Assistenten legen Sie die Tabelle oder Abfrage fest, in der nach Duplikaten gesucht werden soll (siehe Bild 2). Durch die Verwendung einer Abfrage können Sie auch in verknüpften Tabellen nach Duplikaten suchen.
  • Wählen Sie im nächsten Schritt die Suchfelder aus: Bei unserem Beispiel sind das die Felder Nachname und Vorname (siehe Bild 3).
  • Legen Sie anschließend noch fest, welche weiteren Felder im Abfrageergebnis ausgegeben werden sollen.
  • Bild 3: Festlegen der Suchfelder

    Bild 4: Resultat der Duplikatsuche

  • Speichern Sie die Suche unter einem passenden Namen, damit sie als Abfrage im Datenbankfenster für weitere Duplikatsuchen zur Verfügung steht.
  • Die Datenblattansicht der Abfrage zeigt anschließend diejenigen Datensätze an, die in den beiden festgelegten Suchfeldern Nachname und Vorname über identische Einträge oder Werte verfügen (siehe Bild 4).

    Damit ist der erste Teil der Aufgabe bereits gelöst: Die doppelten Datensätze in der Tabelle sind gefunden.

    Bild 5: Abfrage zur Duplikatsuche in der Entwurfsansicht

    Vor den überlegungen zum Löschen dieser Datensätze folgen nun zunächst einige Bemerkungen zur Funktionsweise des Assistenten zur Duplikatsuche.

    Funktionsweise des Assistenten zur Duplikatsuche

    Die Funktionsweise des Assistenten zu Duplikatsuche wird auf den ersten Blick in der Entwurfsansicht der Abfrage deutlich (siehe Bild 5).

    Der Anfang des SQL-Statements im Abfragekriterium

    In (SELECT [Nachname]...

    für das Feld Nachname weist auf die Verwendung einer Unterabfrage hin.

    Unterabfragen bestehen aus einer SQL SELECT-Anweisung innerhalb einer anderen Auswahl- oder Aktionsabfrage.

    Eine solche SQL-Anweisung kann entweder zur Definition eines neuen Feldes in der Zeile Feld oder zur Festlegung von Kriterien in der Zeile Kriterien des Abfrage-Entwurfsbereichs eingegeben werden.

    Die Unterabfrage des Assistenten zur Duplikatsuche ermittelt schließlich, welche Datensätze in den ausgewählten Suchfeldern mehr als einmal vorkommen.

    Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

    TestzugangOder bist Du bereits Abonnent? Dann logge Dich gleich hier ein. Die Zugangsdaten findest Du entweder in der aktuellen Print-Ausgabe auf Seite U2 oder beim Online-Abo in der E-Mail, die Du als Abonnent regelmäßig erhältst:

    Schreibe einen Kommentar