Supportnet Computer
Planet of Tech

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:


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


Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: