Supportnet / Forum / Datenbanken
Doppelte Datensätze in einer Tabelle
Frage
Hi,
Wie kann ich doppelte Datenzätze aus einer Tabelle entfernen und nur einen dieser Datensätze behalten?
Insgesamt beinhaltet diese Tabelle fast 6000 Datensätze; von Hand löschen dürfte da wohl etwas langwierig werden...
Antwort 1 von JohnnyLoser
Hi Thomas B.,
ich denke es gibt zwei Möglichkeiten:
1. Es gibt nicht allzuviele Doppelte
Erstelle eine Abfrage, in der Du Dein(e) Schlüsselfeld(er) gruppierst und zudem noch die Anzahl abesteigend sortiert anzeigen läßt. Anhand des Ergebnisses kannst Du dann durch die Tabelle wandern und die entsprechend mehr als einmal vorkommenden Datensätze löschen.
2. Die Anzahl ist relativ hoch
Erstelle in einem Modul eine Funktion mit folgendem Code:
Du solltest vorher allerdings eine Kopie Deiner Tabelle erstellen.
Gruß
Johnny
ich denke es gibt zwei Möglichkeiten:
1. Es gibt nicht allzuviele Doppelte
Erstelle eine Abfrage, in der Du Dein(e) Schlüsselfeld(er) gruppierst und zudem noch die Anzahl abesteigend sortiert anzeigen läßt. Anhand des Ergebnisses kannst Du dann durch die Tabelle wandern und die entsprechend mehr als einmal vorkommenden Datensätze löschen.
2. Die Anzahl ist relativ hoch
Erstelle in einem Modul eine Funktion mit folgendem Code:
Function DeleteDbl()
Dim dop(1 To 6000)
Dim db As Database
Dim rs As Recordset
Dim oldVal
Dim newVal
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT [Feld] FROM [Tabelle] ORDER BY [Feld]")
oldVal = "ZZZ"
rs.MoveFirst
Do While Not rs.EOF
newVal = rs("Feld")
If newVal = oldVal Then
rs.Delete
End If
oldVal = newVal
rs.MoveNext
Loop
rs.Close
End Function
Du solltest vorher allerdings eine Kopie Deiner Tabelle erstellen.
Gruß
Johnny

