Access: Doppelte Einträge "automatisch" löschen
Marcus
- datenbank
0 Sohail0 Klaus Mock0 Michael Schröpl
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
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
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
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