Doppelte Datensätze in Microsoft Access finden und löschen: Ein Schritt-für-Schritt-Tutorial
Hier ist ein ausführliches Tutorial, wie du doppelte Datensätze in Microsoft Access identifizierst und entfernst.
Doppelte Daten können Analysen verfälschen und die Datenbank unnötig aufblähen. In Access gibt es zwei Wege: Den einfachen Weg über einen Assistenten zum Suchen und eine etwas fortgeschrittenere Methode zum automatisierten Löschen.
Schritt 1: Datensicherung (Wichtig!)
Bevor du Löschvorgänge in einer Datenbank durchführst, erstelle immer eine Sicherheitskopie deiner Tabelle oder der gesamten Datenbank.
- Rechtsklick auf die Tabelle -> Kopieren.
- Rechtsklick in den freien Bereich -> Einfügen (Nur Struktur und Daten).
Schritt 2: Doppelte Datensätze finden (Abfrage-Assistent)
Access bietet einen eingebauten Assistenten, der genau für diesen Zweck erstellt wurde.
- Klicke im Menüband auf den Reiter Erstellen.
- Wähle in der Gruppe Abfragen den Abfrage-Assistenten aus.
- Wähle im Dialogfenster den Punkt Abfrage-Assistent zur Duplikatsuche und klicke auf OK.
- Tabelle wählen: Wähle die Tabelle aus, die du untersuchen möchtest.
- Felder wählen: Wähle die Felder aus, die auf Duplikate geprüft werden sollen (z. B. "Nachname" und "Vorname" oder "E-Mail"). Klicke auf den Pfeil
>nach rechts. - Zusätzliche Felder: Wähle Felder aus, die zusätzlich angezeigt werden sollen (z. B. die ID), damit du die Datensätze besser unterscheiden kannst.
- Abschluss: Gib der Abfrage einen Namen (z. B.
Duplikate_Kunden) und klicke auf Fertigstellen.
Access zeigt dir nun eine Liste aller Werte an, die mehrfach vorkommen.
Schritt 3: Doppelte Datensätze löschen
Es gibt zwei gängige Methoden, um die gefundenen Duplikate zu entfernen.
Methode A: Manuelles Löschen (bei wenigen Duplikaten)
Wenn die Liste der Duplikate kurz ist, kannst du sie direkt in der Ergebnisliste der oben erstellten Abfrage löschen:
- Markiere den Datensatz am linken Rand.
- Drücke die
Entf-Taste oder wähle per Rechtsklick Datensatz löschen.
Methode B: Automatisches Löschen über eine Hilfstabelle (Sauberste Lösung)
Dies ist der sicherste Weg, um Tausende von Duplikaten auf einmal zu entfernen, während jeweils ein Original erhalten bleibt.
- Struktur kopieren: Klicke mit der rechten Maustaste auf deine Originaltabelle -> Kopieren. Klicke wieder rechts -> Einfügen. Wähle im Dialog nur „Nur Struktur“ und nenne sie
Tabelle_Neu. - Primärschlüssel setzen: Öffne
Tabelle_Neuin der Entwurfsansicht. Markiere die Felder, die zusammen ein Duplikat definieren (z. B. "Email" oder "Vorname" + "Nachname"). Klicke auf das Primärschlüssel-Symbol. (Ein Primärschlüssel erlaubt keine Duplikate). Speichere und schließe die Tabelle. - Anfügeabfrage erstellen:
- Gehe auf Erstellen -> Abfrageentwurf.
- Wähle deine Originaltabelle (mit den Duplikaten) aus.
- Klicke oben im Menü auf Anfügen.
- Wähle als Ziel
Tabelle_Neuaus. - Ziehe alle Felder aus der Originalliste nach unten in den Entwurfsbereich.
- Abfrage ausführen: Klicke auf Ausführen (das rote Ausrufezeichen).
- Access wird eine Fehlermeldung ausgeben: "Anzahl an Datensätzen, die aufgrund von Schlüsselverletzungen nicht hinzugefügt wurden..."
- Genau das wollen wir! Bestätige mit Ja. Access kopiert nun nur jeweils das erste Vorkommen eines Datensatzes in die neue Tabelle und ignoriert alle Duplikate.
- Tabellen ersetzen: Wenn du mit dem Ergebnis in
Tabelle_Neuzufrieden bist, lösche die alte Tabelle und benenneTabelle_Neuin den ursprünglichen Namen um.
Bonus: Duplikate schon bei der Eingabe verhindern
Damit erst gar keine Duplikate entstehen, solltest du Indizes verwenden:
- Öffne die Tabelle in der Entwurfsansicht.
- Wähle das Feld aus, das keine Duplikate enthalten darf (z. B. "Kundennummer").
- Suche unten in den Feldeigenschaften nach Indiziert.
- Wähle dort: Ja (Ohne Duplikate).
Nun wird Access eine Fehlermeldung anzeigen, sobald jemand versucht, einen bereits existierenden Wert einzugeben.
Zusammenfassung
- Nutze den Assistenten, um Duplikate zu sehen.
- Nutze eine Hilfstabelle mit Primärschlüssel, um Duplikate sicher zu löschen.
- Nutze Indizes, um Duplikate künftig zu vermeiden.