Duplikatabfrage-Duplikate löschen

  • Access

  • Gollom
  • 8407 Aufrufe 7 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Duplikatabfrage-Duplikate löschen

    Hallo,

    ich habe ein Problem mit meiner Access 2007Datenbank.
    Dort befinden sich Duplikate, die ich löschen möchte.
    Als erste habe ich eine Duplikatabfrage erstellt, die mir die Duplikate auch anzeigt.
    Jetzt suche ich nach einer Möglichkeit diese Duplikate in der richtigen Abfrage zu finden und löschen zu lassen.
    Könnt Ihr mir dabei helfen, ich komme nicht weiter.

    Im Das Ergebnis der Duplikatabfrage sieht wie folgt aus:

    CBN --------Perfekt2-------Anzahl von Duplikaten

    S107--------BA017--------------2
    S107--------BA018--------------2
    S108--------35440--------------2
    S108--------35440--------------2
    S109--------66666--------------2




    Ich hoffe, ihr könnt mir helfen.

    MfG

    Gollom

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Gollom ()

  • Hallo,

    was meinst Du genau mit Duplikaten?
    - doppelte Datensätze in einer Tabelle?
    oder
    - Datensätze welche in zwei verschiedenen Tabellen sind?

    Fürs erstere würde ich empfehlen eine Abfrage auf die Tabelle durchzuführen und im SELECT mit DISTINCT oder mit Gruppierung zu arbeiten, dann kannst du diese nun eindeutigen Datensätze in einer andere (temporäre) Tabelle einfügen,
    die erste Tabelle leeren und bei Bedarf aus der temporären Tabelle einfügen.

    Gruß

    Frank
  • duplikate löschen

    Hallo Gollom,
    hab ich in einem anderen Forum gefunden:

    ein moeglicher Weg waere doppelte Verwendung der Tabelle. entsprechend dem folgenden Beispiel
    Code:
    DELETE DISTINCTROW T1.*, T1.ID
    FROM DeineTabelle AS T1
    INNER JOIN DeineTabelle AS T2
    ON T1.DeinGleichesFeld = T2.DeinGleichesFeld
    AND T1.DeinGleichesFeld1 = T2.DeinGleichesFeld1
    WHERE T1.DeineID>T2.DeineID;

    Du benoetigst dafuer aber ein eindeutiges Feld (hier DeineID).

    gruß mujke
  • duplikat löschen

    Hi Morzan,
    was klappt nicht?
    Hast du Tabellen- und Feldnamen richtig eingegeben?

    gruß
    mujke

    Edit:
    habs gerade ausprobiert, funktioniert tadellos.

    Hier meine Abfrage:
    SELECT DISTINCTROW T1.*, T1.ID
    FROM tbl_umsatz_2009 AS T1 INNER JOIN tbl_umsatz_2009 AS T2 ON (T1.Betrag=T2.Betrag) AND (T1.Valutadatum=T2.Valutadatum)
    WHERE T1.ID>T2.ID;

    PS: SELECT zeigt die doppelten Daten an und wenn du diese dann wirklich löschen möchtest, dann ersetzte SELECT durch DELETE

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von mujke ()

  • doppelte löschen

    Servus,
    ich glaube, daß alle bei denen es nicht "funktioniert" hier drüberlesen

    Zitat:
    "Du benoetigst dafuer aber ein eindeutiges Feld (hier DeineID)."

    Im ersten Augenblick erscheint es ja unsinnig eine eindeutige ID, als Kriterium bei einer Duplikatsabfrage mit einzubeziehen.
    Ablauf:
    1.Abfrage-Assistent zur Duplikatsuche
    2.Tabelle auswählen
    3.Felder auswählen (inclusive ID!)
    4.Fertigstellen
    Wenn man jetzt die neue Abfrage ausführt, dann sieht man.....Nichts.
    5.Abfrage in der Entwurfansicht öffnen
    >>Ansicht>>SQL und bestehende SQL durch obige SQL ersetzen.
    Wenn man SELECT DISTINCTROW eingegeben hat und die Abfrage jetzt ausführt, dann sieht ma alle Daten die mehrfach vorkommen. Das sind alle Daten die dann gelöscht werden, wenn Select durch DELETE ersetzt wird.

    Gruß
    mujke