Marcus: Access: Doppelte Einträge "automatisch" löschen

Hallo !

Ich habe eine Access 97 Datenbank und eine Tabelle mit mehreren tausend Einträgen, wobei ein großteil davon 4 x vorhanden ist.

Ich möchte nun das es nur noch 1 Datensatz pro Eintrag gibt.
Unter Access habe ich schon die Duplikatensuche gestartet und das Ergebnis wird mir auch korrekt angezeigt, jedoch muss ich dann
immer 3 Datensätze makieren und dann löschen.
Bei 100000 Einträgen dauert das eine ganze Woche :(

Gibt es irgendein Sql Statement o.ä. das die überflüssigen Datensätze automatisch löscht ???

Ich hoffe Ihr könnt mir helfen !

Vielen Dank

cu
Marcus

  1. Hallo,

    um überflüssige datensätze nicht anzuzeigen, kannst du von
    Select Distinct gebrauch nehmen, aber um datensätze, die nicht ein mal vorkommen zu löschen, brauchst du eine kleine abfarge, die du auch unter Accsses schreiben kannst. Es gibt keine einzelne Anweisung (so weit ich weiß) die so etwas macht.

    Sohail

  2. Hallo,

    Jetzt weiß ich natürlich nicht, ob das in Access geht. Vielleicht doch.
    Du kanns ja eine zweite Tabelle anlegen, welche die gleiche Struktur wie die, die Du bereinigen willst. Dann fügst Du per

    insert into duplikat select distinct * from original

    und dann das Original mit dem Duplikat ersetzen.

    Allerdings solltest Du Dir überlegen, wie Du verhindern kannst, daß überhaupt Duplikate entstehen.

    Grüße
      Klaus

  3. Hi,

    Ich möchte nun das es nur noch 1 Datensatz pro Eintrag gibt.

    Warum sind die Duplikate überhaupt in die Tabelle aufgenommen worden?
    Du hättest das verhindern können: ein UNIQUE INDEX über die entsprechenden Spalten und beim INSERT den entsprechenden Fehler abfangen.

    Gibt es irgendein Sql Statement o.ä. das die überflüssigen Datensätze automatisch löscht ???

    Was ist für Dich ein "Duplikat"? Stimmen zwei "Duplikate" in *allen* oder nur in *einigen* Spalten überein?
    Wie ist überhaupt Deine Tabellendefinition?

    Das alles wäre wichtig, um das Entfernen der Duplikate sinnvoll beschreiben zu können.

    mfG - Michael