Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 4/2002.

Diesen Artikel jetzt als PDF plus Beispieldatenbank herunterladen?

Wenn Sie sich jetzt für den Newsletter anmelden, erhalten Sie in Kürze eine E-Mail mit dem Artikel im PDF-Format plus Beispieldatenbank.

Hier anmelden:973526

E-Mail:

Anrede:

Vorname:

Nachname:

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

Doppelte Datensätze suchen

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 zur
Duplikatsuche

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.

    Abb. 6: Einstellung der Index-Eigenschaften

    In (SELECT [Nachname] FROM [tblKontakte_01] As Tmp 
    GROUP BY [Nachname],[Vorname] 
    HAVING Count(*)>1  And 
    [Vorname] = [tblKontakte_01].[Vorname])

    Quellcode 1

    Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

    Sind Sie Abonnent?Jetzt einloggen ...
     

    Kompletten Artikel lesen?

    Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

    E-Mail:

    Diesen Artikel jetzt als PDF plus Beispieldatenbank herunterladen?

    Wenn Sie sich jetzt für den Newsletter anmelden, erhalten Sie in Kürze eine E-Mail mit dem Artikel im PDF-Format plus Beispieldatenbank.

    Hier anmelden:

    E-Mail:

    Anrede:

    Vorname:

    Nachname:

    Verwandte Beiträge:

    Suchfunktionen von einfach bis komplex

    Globale Suche

    © 2003-2015 André Minhorst Alle Rechte vorbehalten.