Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Torsten. am März 05, 2011, 17:16:25

Titel: Doppelte Datensätze auf je 1 Datensatz reduzieren
Beitrag von: Torsten. am März 05, 2011, 17:16:25
Hallo,
ich habe folgenden Inhalt einer Tabelle:

1258
1260
1375
1488  <--
1488
1522  <--
1522
1522
1522
1720

Nun möchte ich die doppelten, auf einen Datenstz reduziert haben.
Ergebnis =
1258
1260
1375
1488
1522
1720

Mit der Duplikatsabfrage komme ich nicht zum Ergebnis,
da die mir dann nur
1488
1522
anzeigt, aber nicht auch die einzelnen Datensätze - die auch benötigt werden.
Kann jemand helfen?
Gruß TVH
Titel: Re: Doppelte Datensätze auf je 1 Datensatz reduzieren
Beitrag von: Hondo am März 05, 2011, 17:39:00
Hallo,
du meinst doppelte löschen?
Bei 2 Gleichheitskriterien geht das z.B. so:

DELETE DISTINCTROW T1.*, T1.ID
FROM   DeineTabelle AS T1
      INNER JOIN DeineTabelle AS T2
      ON  T1.DeinGleichesFeldNr1  = T2.DeinGleichesFeldNr1
      AND T1.DeinGleichesFeldNr2 = T2.DeinGleichesFeldNr2
WHERE  T1.DeineID>T2.DeineID

D.H. du brauchst zwingend ein Schlüsselfeld, z.B. einen Autowert (DeineID)

Bei nur 1 Gleichheitskriterium einfach die Zeile AND T1.... weglassen.
Gruß Andreas
Titel: Re: Doppelte Datensätze auf je 1 Datensatz reduzieren
Beitrag von: Torsten. am März 05, 2011, 17:45:10
Hallo Andreas,
vielen Dank für Deine schnelle Reaktion.
1. Frage: "2 Gleichheitskriterien" bedeutet das bei 2 doppelten Art-Nr?
2. Frage: Wohin mit dem "Code", in eine Abfrage?
Bitte wenn möglich etwas näher beschreiben.
Gruß TT
Titel: Re: Doppelte Datensätze auf je 1 Datensatz reduzieren
Beitrag von: Hondo am März 05, 2011, 17:53:23
Hallo,
wenn du doppelte Adressen löschen möchtest dann wirst du nach Name, Vorname, Strasse, PLZ und Stadt unterscheiden. Das wären 5 Unterscheidungskriterien. In deinem Beispiel gibt es nur die eine Nummer, also wird nur nach dieser Unterschieden.

Zusätzlich brauchst du einen Identifier, d.H. ein eindeutiges Feld in der Tabelle wo die Werte je nu 1x vorkommen dürfen. Z.B. ein Autowert.
Wenn du dieses Feld nicht hast füge einfach ein neues Feld an mit dem Felddatentyp "autowert" und benenne das Feld "ID".

Dann erstelle eine neue Abfrage und klicke unter Ansicht auf SQL-Ansicht. Dort gibst du folgenden SQL-Code ein:

DELETE DISTINCTROW T1.*, T1.ID
FROM   DeineTabelle AS T1
       INNER JOIN DeineTabelle AS T2
       ON  T1.Nummer  = T2.Nummer
WHERE  T1.ID>T2.ID


DeineTabelle und Nummer musst du noch anpassen.
Speichere die Abfrage z.B. unter Abf_Loeschen und verlass den Abfrageeditor.

Jetzt siehtst du dass die Abfrage ein anderes Icon bekommen hat. Führe die Abrage duch Doppelklick aus und deine Doppelten Datensätze sind gelöscht.

Gruß Andreas


Titel: Re: Doppelte Datensätze auf je 1 Datensatz reduzieren
Beitrag von: Torsten. am März 05, 2011, 18:32:13
Hallo Andreas,
vielen Dank für Deine Hilfe und nochmalige Erläuterung.
Mein Problem ist damit gelöst.
Gruß TVH