Anzeige
Archiv - Navigation
1652to1656
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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.

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
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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige