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.

Abb. 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.

Abb. 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 (s. Abb. 1).
  • Im nächsten Schritt des Assistenten legen Sie die Tabelle oder Abfrage fest, in der nach Duplikaten gesucht werden soll (s. Abb. 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 (s. Abb. 3).
  • Legen Sie anschließend noch fest, welche weiteren Felder im Abfrageergebnis ausgegeben werden sollen.
  • Abb. 3: Festlegen der Suchfelder

    Abb. 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 (s. Abb. 4).

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

    Abb. 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 (s. Abb. 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.

    Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
    Hier geht es zur Bestellung des Jahresabonnements des Magazins Access im Unternehmen:
    Zur Bestellung ...
    Danach greifen Sie sofort auf alle rund 1.000 Artikel unseres Angebots zu - auch auf diesen hier!
    Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

    Schreibe einen Kommentar