Doppelte Werte finden und nach bestimmten Kriterium löschen

Hallo Zusammen,

ich habe folgendes Problem. Ich habe einen Datensatz mit 4 Spalten. Durch einen Fehler ist es dazu gekommen, dass ich doppelte Einträge in meiner Access Tabelle habe. Ich benötige allerdings nur die Zeile mit dem höheren Preis.

Beispiel:

Verkaufsid, Verkaufsdatum, Verkäufer, Preis
1258, 25.10.2013, Müller, 15,25€ --> soll gelöscht werden
1258, 25.10.2013, Müller, 17,50€ --> soll behalten werden

Ich habe mit Hilfe der Access Duplikate Suche alle doppelten Werte gefunden, die ich nun einzelnt löschen könnte. Bei ca 600 Werten ist das aber viel zu viel. Gibt es einen Weg automatisiert alle Einträge mit dem kleineren Preis zu löschen?

Besten Gruß und vielen vielen Dank im voraus.
uocid

Hallo,

ich habe folgendes Problem. Ich habe einen Datensatz mit 4
Spalten. Durch einen Fehler ist es dazu gekommen, dass ich
doppelte Einträge in meiner Access Tabelle habe. Ich benötige
allerdings nur die Zeile mit dem höheren Preis.

Beispiel:

Verkaufsid, Verkaufsdatum, Verkäufer, Preis
1258, 25.10.2013, Müller, 15,25€ --> soll gelöscht werden
1258, 25.10.2013, Müller, 17,50€ --> soll behalten werden

Ich habe mit Hilfe der Access Duplikate Suche alle doppelten
Werte gefunden, die ich nun einzelnt löschen könnte. Bei ca
600 Werten ist das aber viel zu viel. Gibt es einen Weg
automatisiert alle Einträge mit dem kleineren Preis zu
löschen?

Statt zu löschen, erzeuge eine neue Tabelle mit nur den Max-Werten:

Select t.Verkaufsid, t.Verkaufsdatum, t.Verkäufer, max( t.Preis) as Preis Into TabelleNeu
From Tabelle1 AS t
Group by t.Verkaufsid , t.Verkaufsdatum, t.Verkäufer

Gruß
Franz,DF6GL

Hallo,

mach es doch einfach über eine Löschabfrage mit einer entsprechenden logischen Bedingung.

Gruß
Thomas

Hallo,

mach es doch einfach über eine Löschabfrage mit einer
entsprechenden logischen Bedingung.

genau das ist der Knackpunkt: wie würden diese logischen Bedingungen dann lauten?

Gruß
Franz,DF6GL

Hallo,

grindsätzlich müßte die Sochfunktion mir einer wenn-dann-Funktion verknüpft werden. Ob das geht, kann ich leider ohne MS-Office nicht testen, Gibt die Hilfe (F1 oder ?) nichts her?

L.G.

Hallo,

so ein Vorschlag führt eher in die Irre denn zum Ziel…

nix mit wenn… dann.

Wenn unbedingt gelöscht werden muss, dann ginge das etwa so quick&dirty:

Delete \*
From Tabelle1
Where Verkaufsid & Verkaufsdatum & Verkäufer & preis Not in 
(select t.Verkaufsid & t.Verkaufsdatum & t.Verkäufer & max (t.Preis) as MPr From Tabelle1 as t Group by t.Verkaufsid , t.Verkaufsdatum, t.Verkäufer )

Gruß
Franz,DF6GL