Duplikate suchen und löschen

Alle Jahre wieder bekommt es der gemeine Access-Entwickler mit einem Rutsch frischer inkonsistenter Daten zu tun, die es auseinanderzupflücken gilt. Wo war also nochmal die Abfrage zum Auffinden und Löschen der doppelten Daten Falls diese nicht zur Hand ist oder Sie so etwas noch gar nicht im Repertoire haben, finden Sie in diesem Beitrag alles zum Thema Duplikate in Access-Tabellen.

Doppelte Datensätze und doppelte Felder haben in einer relationalen Datenbank nichts zu suchen. Sie führen immer zu Fehlern und müssen daher dringend eliminiert werden.

Viele der potenziellen Probleme lassen sich zwar durch ein gutes Datenmodell von vornherein ausschließen, einige Fehlerquellen sind sich jedoch nicht so einfach auszuschalten.

Wenn beispielsweise mehrere Mitarbeiter einer Firma kontinuierlich Kundendaten und Bestellungen erfassen, dann treten geradezu zwangsläufig Datenduplikate auf.

Das typische Beispiel ist die Aufnahme einer telefonischen Bestellung für einen Kunden. Manchmal vergisst der Mitarbeiter nachzusehen, ob der Kunde vielleicht schon angelegt ist – und schon ist derselbe Kunde zweimal in der Datenbank enthalten.

Das kann schwerwiegende Folgen haben. Wenn der Kunde beispielsweise die Rechnung zur ersten Bestellung auch nach der dritten Mahnung noch nicht bezahlt hat, dann sollte er eigentlich nicht mehr oder nur gegen Vorkasse beliefert werden. Ein Datenbanksystem, das für diesen Fall geeignete Vorkehrungen trifft, kann erhebliche Zahlungsausfälle vermeiden.

Aber auch jede Umsatzauswertung, Rabattberechnung und Akquisemaßnahme ist fehlerträchtig, wenn die Daten eines Kunden auf mehrere zusammenhanglose Datensätze verteilt sind.

Da sich Duplikate einerseits nicht vermeiden lassen, sie andererseits aber zu schwerwiegenden Problemen führen können, sollten Sie sich angewöhnen, die in einer Datenbank gespeicherten Daten in regelmäßigen Abständen zu untersuchen.

Die folgenden Abschnitte beschreiben, wie Sie Ihre Daten nach Duplikaten durchforsten und diese gegebenenfalls löschen können.

Duplikate per Assistent suchen

Für die Suche nach Duplikaten ist eine Auswahlabfrage mit Gruppierungen bestens geeignet. Access verfügt über einen Abfrage-Assistenten, mit dem Sie solche Abfragen komfortabel anlegen können.

Wir zeigen die Funktionsweise des Assistenten anhand der Tabelle tblKunden aus der Beispieldatenbank.

Um den Assistenten zu starten, gehen Sie wie folgt vor:

  • Aktivieren Sie das Datenbankfenster.
  • Wählen Sie den Befehl Einfügen|Abfrage aus der Menüleiste (bis Access 2003) beziehungsweise den Ribboneintrag Erstellen|Andere|Abfrage-Assistent.
  • Führen Sie einen Doppelklick auf dem Eintrag Abfrage-Assistent zur Duplikatsuche durch, damit Access den Assistenten startet (s. Abb. 1).
  • Markieren Sie auf der ersten Dialogseite die Tabelle tblKunden, in der nach Duplikaten gesucht werden soll (s. Abb. 2).
  • Klicken Sie auf die Schaltfläche Weiter.

Auf der zweiten Dialogseite zeigt der Assistent eine Liste der Felder der Kundentabelle an. Wählen Sie in diesem Dialog das Feld aus, das der Assistent nach Duplikaten durchsuchen soll (s. Abb. 3).

pic001.tif

Abb. 1: Starten des Assistenten zur Duplikatsuche

pic002.tif

Abb. 2: Legen Sie auf der ersten Dialogseite fest, welche Tabelle auf Duplikate untersucht werden soll.

pic003.tif

Abb. 3: In diesem Dialog wählen Sie die Felder aus, die der Assistent auf Duplikate untersuchen soll.

Wenn Sie mehr als ein Feld auswählen, dann reiht Access die Felder aneinander und ermittelt nur dann Duplikate, wenn sich die Werte in allen Feldern wiederholen. Sie könnten beispielsweise die Felder Firma und Kontaktperson auswählen, um nach Wiederholungen einer Kontaktperson in der gleichen Firma zu suchen. Wenn eine Kontaktperson zwar mehrfach, aber in verschiedenen Firmen vorkommt, dann würde Access dies richtigerweise nicht als Duplikat melden.

Dieser Zusammenhang ist darauf zurückzuführen, dass der Assistent eine Abfrage mit Gruppierungen erstellt. Er gruppiert nach allen Feldern, die Sie auf der zweiten Dialogseite ausgewählt haben. Für das Beispiel wählen Sie zunächst nur das Feld Firma aus.

Nach einem Klick auf die Schaltfläche Weiter zeigt der Assistent auf der dritten Dialogseite eine Liste mit den noch verbliebenen Feldern an. Hier wählen Sie die Felder aus, in denen zwar nicht nach Duplikaten gesucht werden soll, die Sie aber trotzdem im Abfrageergebnis sehen möchten (s. Abb. 4).

pic005.tif

Abb. 4: Wenn Sie auf der dritten Dialogseite keine Felder auswählen, dann enthält das Abfrageergebnis die Anzahl der Wiederholungen einer Firma.

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

Workplace

Jahresabonnement TestzugangOder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar