Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ADO-SQL-Abfrage: nur zuletzt geänderte Datensätze

Forumthread: ADO-SQL-Abfrage: nur zuletzt geänderte Datensätze

ADO-SQL-Abfrage: nur zuletzt geänderte Datensätze
29.10.2018 16:41:43
Zacharias
Liebe Excel-Profis,
im Rahmen einer Datensynchronisation verschiedener Nutzer-Exceldateien, lade ich aus diesen die Zellinhalte aus den relevanten Tabellen mittels ADO -SQL-Abfrage in ein Recordset.
Projekt	letzteÄnderung	    Attribut1	Attribut2   Attribut3
A	2018-10-29 - 11:00	A1	   A2	      A3
A	2018-10-29 - 15:00     (C1)	   A2	      A3
B	2018-10-28 - 10:00	B1	   B2	      B3
C	2018-10-25 - 14:00	C1	   C2	      C3
Wenn nun 2 Nutzer dasselbe Projekt A (in ihren jeweiligen Dateien) bearbeitet haben,
dann existieren nach Anwendung von Select Distinct tab.* zwei Datensätze für Projekt A.
Da das Projekt in der Zieltabelle eindeutig sein muß, möchte ich alle Datensätze
desselben Projekts mit älterem Attribut "Letzte Änderung" eliminieren,
so daß quasi der Datensatz, der zuletzt geändert wurde "gewonnen" hat.
Ich würde mich sehr freuen, wenn mit jemand einen Tip gäbe,
wie eine entsprechde SQL-Abfrage für obige Beispieltabelle aussehen könnte.
Vorab Vielen Dank
und viele Grüße
Zacharias
P.S.: Ich bin SQL-Anfänger bitte also um Verständnis, falls die Frage zu trivial ist.
Aber die Geschwindigkeit und die Möglichkeiten der SQL-Abfragen in Kombination mit Excel/VBA finde ich sehr interessant.
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ADO-SQL-Abfrage: nur zuletzt geänderte Datensätze
29.10.2018 17:58:29
ChrisL
Hi
Habe es jetzt nicht ausprobiert, aber z.B. folgender Link müsste zur Aufgabe passen:
https://www.sql-und-xml.de/sql-praxis/detailtabelle-aggregatfunktion-einzelzeilen.html
Max(letzteÄnderung)
N.b. ich würde keine Umlaute im Feldnamen verwenden.
cu
Chris
AW: ADO-SQL-Abfrage: nur zuletzt geänderte Datensätze
29.10.2018 18:35:13
Zacharias
Hallo Chris,
der Link ist ja sehr aufschlußreich!
Trotz google hatte ich bisher keine so ausführliche Seite gefunden.
Dann werde ich mich da mal mit meinen bescheidenen Kenntnissen durcharbeiten.
Ich finde es ziemlich genial wie schnell ich in meinem Fall mittels SQL-ADO an jeweils 13 Tabellen aus 5 Nutzerndateien gelange. Dabei ist es auch egal, ob die Dateien geöffnet oder geschlossen sind.
Was mir nur noch fehlte, war die angefragte Möglichkeit alte Datensätze zu eliminieren.
Vielen Dank !
Zacharias
Anzeige
AW: ADO-SQL-Abfrage: nur zuletzt geänderte Datensätze
29.10.2018 18:48:27
ChrisL
Hi
Freut mich, dass ich helfen konnte. Es handelt sich übrigens um den ersten Treffer bei Google, Stichworte: sql letztes datum abfragen :)
Zwei zusätzliche Hinweise:
- Nutze Access zwecks Erstellung und Tests von Abfragen. Als Ergebnis bekommst du einen SQL-String, den du dann auch für ADO verwenden kannst.
- Oder mach dich mit Excel Power-Query vertraut.
cu
Chris
Anzeige
AW: ADO-SQL-Abfrage: nur zuletzt geänderte Datensätze
29.10.2018 21:17:28
Zacharias
Hallo Chris,
Dank Deinem Hinweis, habe ich genau das was ich suche:

SELECT 	A.*
FROM 		[PROJ_ZUS_FASS_DATA$] As A
INNER JOIN
(SELECT 	B.[ID PROJ], Max(B.Datum) As [Max-Datum]
FROM 		[PROJ_ZUS_FASS_DATA$]  As B
GROUP BY 	B.[ID PROJ]) As C
ON 		A.[ID PROJ] = C.[ID PROJ] And A.Datum = C.[Max-Datum]
Diese kurze Query eliminiert rasend schnell alle Doppelpositionen !
Genial !
Danke nochmals
Zacharias
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige