Doppelte Werte in Excel löschen

Hallo Experten,

ich habe im MS Access DB zwei Tabellen, diese frage ich im Excel via SQL ab. Das Ergebnis der Abfrage wird in Excel auf einer neuen Tabelle angezeigt.
Leider tauchen durch die SQL abfrage doppelte Werte auf und ich weis nicht was ich an der SQL Abfrage noch ändern könnte,
-> FRAGE: ist es möglich das Ergebnis der SQL Abfrage die doppelten Werte zu löschen ?

Mfg

WillsWissen

Moin

In Excel fällt mir nur eine Lösung mittels Makro ein.
Leichter ist es in der Datenbank eine Abfrage zu erstellen, die entweder auf dem Abfrageergebnis der zusammengeführten Tabellen basiert oder direkt dort integriert ist.
Dazu kann man entweder in den Eigenschaften der Abfrage den Wert Keine Duplikate auf ja setzen oder im sql-Code hinter select das Wort distinct einfügen.

Sollte dies nicht klappen, dann schicke mir bitte den SQL-Code deiner Abfrage, dann schaue ich es mir nochmal an.

Gruß Matthias

Morgen Matthias,

Danke für die schnelle Antwort!!!

Problemlösungsmöglichkeiten:

1.Makro: damit hab ich es versucht, im Internet findet man viele Makros die Doppeltwerte in Excel löschen sollen, das hat bei mir aber nicht funktioniert.

2.Abfrage in Access: das hört sich gut an, aber ich weis nicht wie ich es machen soll.

3.SQL: ich hab das mit der DISTINCT nach SELECT gleich ausprobiert, das Ergebnis der Anzeige ändert sich in der Reichenfolge aber es sind immernoch doppelte Werte vorhanden.

-------Mein Tool --------------
Ich habe in MS Access DB zwei Tabellen (tblBohrmaschine, tblWaschmaschine), diese Tabellen haben die Felder: Beschreibung, Zustand und Fehler.
Beschreibung ist ein Text, welches angezeigt werden soll. Zustand und Fehler sind als Ja/Nein definiert.
Im Excel Userform kann ich ein Haken bei Zustand oder bei Fehler machen -> bei einem Klick setze ich die Variable auf „True“ und das andere auf „False“
-> Dadurch sollen nur die Beschreibung von tblBohrmaschine und tblWaschmaschine angeziegt werden die ein Haken haben.
-------mein SQL CODE------

sql = „SELECT tblBohrmaschine.Beschreibung, tblWaschmaschine.Beschreibung FROM tblBohrmaschine, tblWaschmaschine WHERE tblBohrmaschine.Zustand =“ & strZu
" AND tblBohrmaschine.Fehler =" & strFehl
" AND tblWaschmaschine.Zustand=" & strZu
" AND tblWaschmaschine.Fehler=" & strFehl

---------------Ergebnis--------------
Momentan sieht es so aus:

Beschreibung(Bohrm.):… Beschreibung(Waschm.):
Akkubetrieb…1400U/min
Kabelbetrieb…1400U/min
Stoßfunktion…1400U/min
Akkubetrieb…6Kg
Kabelbetrieb…6Kg
Stoßfunktion…6Kg
Akkutbetrieb…Eco
Kabelbetrieb…Eco
Stoßfunktion…Eco

Ich will aber die Anzeige:
Beschr.Bohrm…Beschr.WAshm.
Akkubetrieb…1400 U/min
Kabelbtetrieb…6kg
Stoßfunktion…Eco

die Anzeige ist unabh. voneinander, ich will nur das ergebnis von zwei tabellen in einem excel anzeigen.

VIELEN DANK NOCHMALS !

Gruß
WillsWIssen

Hallo,

erstmal was ganz grundsätzliches: Wieso erstellst Du die SQL-Abfrage aus Excel heraus? Das ist doch vielzu kompliziert. Erstell doch dazu eine Abfrage unter Access! Das wäre schonmal das erste. Die Abfrage liese sich dann auch über ein Formular komfortabel ausführen…Alles kein Problem.
Die andere Sache: Mit SQL kannst Du immer nur das abfragen, was auch vorliegt. Hast Du vielleicht doppelte Datensätze in der Tabelle? Dann werden diese auch doppelt angezeigt, weil es die zu abfragenden Parameter ja zweimal gibt - logisch! Du kannst schon bei der Dateneingabe unter Access Duplikate von vorherein ausschließen.
Wie ist Deine Tabelle eigentlich strukturiert? Datenfelder? Primärschlüssel?
Du kannst eine Abfrage erstellen (unter Access!) mit welcher Dir doppelte Datensätze ausgegeben werden. Dazu legst Du die Tabelle, die Du überprüfen möchtest, doppelt an und vergleichst die betreffenden Felder. Also z.b. Tabelle1.name = Tabelle2.name
Das wäre ein Ansatz der mir jetzt so einfiele - ansonsten googlen.

Beste Grüße
Daniel

Wie lautet denn die SQL der Abfrage?

Normalerweise verwendet man SELECT DISTINCT, um doppelte Abfrageergebnisse zu vermeiden.

Gruß
Reinhard Kraasch

Hallo WillsWissen,

Lies dir mal das durch.
http://www.excel-center.de/faq/artikel.php?ide=ad200…

Mfg

Fred

Hallo WillsWissen,
leider habe ich von MS Access + SQL keine Ahnung. Aber in Excel kann man die doppelten Werte leicht löschen.
Gib mit Deine e-Mail-Adresse und ich sende dir „WillsWissen“ eine kleine Lösung per Excel-VBA.
Antworte an: „[email protected]“.
mfg Softoldi

Nochmal Moin

Ich muss gestehen, es fehlt mir etwas die Zeit dir jetzt schrittweise zu erklären, wie man in einer Datenbak eine Abfrage erstellt die dann auch noch das macht, was du möchtest.
Ich würde dir anbieten, dass du mir eine gepackte datei mit deiner Datenbank (es braucht nur eine kopie mit den beiden Tabellen zu sein) und der Tabelle schickst und ich mir das mal ansehe usw. (mailadresse siehe visitenkarte)

Gruß Matthias

Hallo Daniel,

vielen Dank für deine Hilfe !!

Die Abfrage mit Excel zu gestalten habe ich als Aufgabe bekommen.
Die Tabellen sind relativ übersichtlich, deswegen kann ich sagen, dass die Werte nicht doppelt auftauchen.
ABER ich habe heute versucht die Abfrage mit Access zu machen, auch dort werden die Ergebnisse der Abfrage miteinander verknüpft, wenn ich die Abfrage nur von einer Tabelle mache erscheint das gewünschte Ergebnis, nur bei einer Abfrage von mehreren Tabellen ist das Ergebnis falsch.
z.b. ergebnis der anzeige:

Tabelle 1:…Tabelle2:
A…a
B…a
C…a
A…b
B…b
C…b
A…c
B…c
C…c

gewünschte Anzeige:

Tabelle1:…Tabelle2:
A…a
B…b
C…c

Vielen DANK!!!

hallo reinhard, danke für deine HIlfe!

Wie lautet denn die SQL der Abfrage?
sql = „SELECT tblBohrmaschine.Beschreibung, tblWaschmaschine.Beschreibung From tblBohrmaschine, tblWaschmaschine Where tblBohrmaschine.Zustand =“ & strZustand „AND tblBohrmaschine.Fehler =“ & strFehler „AND tblWaschmaschine.Zustand =“ & strZustand " AND tblWaschmaschine.Fehler =" & strFehler
strFehler und strZustand sind booleans die true oder false werden können, die zwei Tabellen bestehen aus Feldern: Beschreibung(text), fehler und zustand(ja/nein)
Normalerweise verwendet man SELECT DISTINCT, um doppelte
Abfrageergebnisse zu vermeiden.
ich habe versucht es auch mit Distinct zu machen, ich glaube aber, dass es eher daran liegt, dass ich die Abfrage über zwei tabellen mache, und die Werte der Anzeige miteinander verknüpft werden
Gruß
Reinhard Kraasch

Hallo WillsWissen,

hallo Manfred
Lies dir mal das durch.
http://www.excel-center.de/faq/artikel.php?ide=ad200…

ok mach ich, vielen DANK nochmals
Mfg

Fred

Hi,

Erstens: Wer stellt solche Aufgaben? Die Aufgabenstellung ist nicht valide, weil nicht das geprüft wird, was geprüft werden soll! Abfragen erstellt man mit einem Datenbankprogramm.
Ganz simpel: Versuch mal unter Excel den Autofilter zu verwenden oder eine Pivottabelle. Letzters könnte glaube ich ganz gut passen auf Dein Problem.
Im Moment habe ich nicht die Zeit, dass selber zu testen. Idee von mit unter Access: Hast Du „Gruppierung“ eingestellt in der Abfrage?

Einen schönen Abend noch

Beste Grüße
Daniel

Teste doch mal die resultierende SQL in der SQL-Ansicht des Abfrageentwurfs. Vermutlich sind die Felder halt doch nicht wirklich dupliziert. Darüber hinaus sehe ich den Join nicht in der Beschreibung der SQL…

Gruß
Reinhard Kraasch

Hallo Experten,

ich habe im MS Access DB zwei Tabellen, diese frage ich im
Excel via SQL ab. Das Ergebnis der Abfrage wird in Excel auf
einer neuen Tabelle angezeigt.
Leider tauchen durch die SQL abfrage doppelte Werte auf und
ich weis nicht was ich an der SQL Abfrage noch ändern könnte,
-> FRAGE: ist es möglich das Ergebnis der SQL Abfrage die
doppelten Werte zu löschen ?

Hallo,

Du könntest:

a) die Abfrage gruppieren

b) das Prädikat „Distinct“ einsetzen (Im Abfrageentwurf/Eigenschaften/KeineDuplikate auf Ja setzen.

Beides klappt aber nur, wenn nur die Felder selektiert werden, die tatsächlich gleich sein können.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Versuch es doch mal mit Select distinct, das distinct sollte Doppelte filtern

Hallo WillsWissen,

ersteinmal entschuldigung für die späte Rückmeldung.
Mein PC hat gestreikt und muste zur Reparatur; hat leider sehr lange gedauert.
Zu dem Problem könnte ich höchstens etwas aus Sicht Excelblatt sagen. Mit den Bedingungen zu SQL habe ich nicht die entsprechenden Erfahrungen.
Also bei Excel sortiere ich mein Ergebnis aufsteigend im Blatt bei der Spalte (z.B- A) die die doppelten Einträge hat und dann frage ich in der Spalte daneben (z.B. B) mit der Formel: =Wenn(A2=A1);„x“;"") auf doppelte ab. nun wird in der Spalte B der Autofilter gesetzt und auf das Kreuz selktiert, die angezeigten Zeilen markierren und löschen.
So gehe ich vor. Ich hoffe das hilft.

Gruß Hugo

Hallo,
meine Antwort kommt spät, aber vielleicht hilft es Dir weiter.
Ich würde im Anschluss der SQÖ-Übertragung ein kleines Excel-Makro laufen lassen, welches die doppelten Werte eliminiert.
Bei Bedarf könnte ich Dir so ein Makro zur Verfügung stellen.
Gruß,
Jochen