Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1036to1040
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

SQL-Query

SQL-Query
03.01.2009 18:43:00
Rudolf
Hi,
ich weiss, dass dies ein Excel-Forum ist, aber da ich diese SQL-Query in einer VBA-Funktion in Excel benötige, versuche ich es hier mal.
Ich habe folgende Zeilen in einer Access-Tabelle:
AutoID TaskID Category UserName Org Duration ETC TaskDate EntryTimestamp
315 A-R5-0001 Dummy TeamMember09 ACN 9 4 30.07.2006 03.01.2009 16:19:52
316 A-R5-0431 Dummy TeamMember09 ACN 3 1 30.08.2007 03.01.2009 16:19:52
317 A-R5-0489 Dummy TeamMember09 ACN 12 5 30.08.2007 03.01.2009 16:19:52
318 A-R5-0001 Dummy TeamMember09 ACN 12 4 30.07.2006 03.01.2009 18:18:30
319 A-R5-0431 Dummy TeamMember09 ACN 5 5 30.08.2007 03.01.2009 18:18:30
320 A-R5-0489 Dummy TeamMember09 ACN 23 6 30.08.2007 03.01.2009 18:18:30
Jetzt möchte ich nach der TaskId und dem UserName selektieren - hier gibt es dann ja zwei Rows und ich hätte gerne die, die als letztes erstellt worden ist - sieht man anhand des EntryTimestamps.
Ich hatte es mal so versucht:
SELECT * FROM Tracking WHERE TaskID ="A-R5-000"' AND UserName= 'TeamMember09" AND and EntryTimestamp in (Select Max(EntryTimestamp) From Tracking);
Leider funktioniert das nicht so richtig. Weiss zufällig jemand von euch wie die Query richtig lauten müsste?
rudi

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SQL-Query
03.01.2009 19:02:13
Ramses
Hallo
Mach doch einen Workaround:
Erstelle in Access eine Abfrage die diesen Anforderungen entspricht und schau dir in der Abfrage die SQL Ansicht an. Dann hast du deinen SQL-String.
Den kannst du kopieren und in EXCEL dann verwenden
Gruss Rainer
AW: SQL-Query
03.01.2009 19:08:00
Rudolf
Hi Ramses,
das habe ich leider schon probiert. Die Query die daraus enstanden ist lautet wie folgt:
SELECT Tracking.TaskID, Tracking.UserName, Tracking.Duration, Tracking.ETC, Tracking.TaskDate, Max(Tracking.EntryTimestamp) AS MaxOfEntryTimestamp
FROM Tracking
GROUP BY Tracking.TaskID, Tracking.UserName, Tracking.Duration, Tracking.ETC, Tracking.TaskDate
HAVING (((Tracking.TaskID)="A-R5-0001") AND ((Tracking.UserName)="TeamMember09"));
Leider werden hier dann noch immer beide Zeilen ausgegeben und nicht nur die eine mit dem aktuellsten EntryTimestamp..? :(
Ich habe noch einen Screenshot hochgeladen von dem Access-Query-Fenster.
Userbild
Jemand eine Idee?
rudi
Anzeige
AW: SQL-Query
03.01.2009 19:36:00
Ramses
Hallo
Das liegt an den ganzen "Group by" und den unterschiedlichen Einträgen in TaskID, ETC und Duration.
Bau die Query mal so auf
Userbild
dann sieht das Ergebnis so aus
Userbild
Gruss Rainer
AW: SQL-Query
03.01.2009 20:39:00
Rudolf
Hi Ramses,
das funktioniert leider nicht, da ich zuvor nach TaskID und TeamMember selektieren muss und danach von den übrig gebliebenen Zeilen, jene Zeile selektieren möchte, wo der EntryTimestamp der aktuellste ist.
Hier nochmal der Screenshot, wenn ich das so aufbaue wie von dir vorgeschlagen, dann wird keine Zeile selektiert. Im Screenshot habe ich unten auch noch den Inhalt der Tabelle Tracking abgebildet.
Userbild
Ich kann leider die Access-DB nicht hochladen, da keine mdb-Files akzeptiert werden.
Weisst du zufällig wie das funktioniert?
rudi
Anzeige
AW: SQL-Query
03.01.2009 20:58:00
Ramses
Hallo
Schau dir das mal an.
Also entweder ich verstehe deine Frage nicht, oder da ist noch was in deiner Tabelle das ich nicht weiss
Userbild
Gruss Rainer
AW: SQL-Query
03.01.2009 21:11:01
Rudolf
Hi Ramses,
das gibts ja nicht, ich habe die Query genau so aufgebaut wie du, aber wenn ich die Query ausführe, gibt er mir keine Zeile aus. :((
Der DesignView meiner Tracking Tabelle sieht wie folgt aus:
Userbild
Hast du da irgendwas anderes definiert?
rudi
Anzeige
AW: SQL-Query
03.01.2009 21:41:00
Ramses
Hallo
Deine Query ist etwas anders. Stell sie mal so um
Userbild
Gruss Rainer
Anzeige
AW: SQL-Query
03.01.2009 21:52:21
Rudolf
ahh, das war wirklich das problem...:))
sag, weisst du auch warum man das so definieren muss, also vor allem das mit dem group by und den last bei allen anderen feldern?
rudi
AW: SQL-Query
03.01.2009 22:08:00
Ramses
Hallo
Die Query wird abgefragt wie definiert, also IMMER von links nach rechts
Wenn in der linken ersten Abfrage bereits nichts zu finden ist (LAST), dann kommt auch beim Rest nix mehr.
In deinem Beispiel ZUERST den letzten Datensatz, anschliessend wird nach Username gruppiert.
Wenn der dort nicht steht, dann gibts nix :-)
Gruss Rainer
AW: SQL-Query
03.01.2009 22:28:00
Rudolf
hi rainer,
ah okay, vielen Dank für deine Hilfe und deine Geduld!!!
gruss, rudi
Anzeige
AW: Rückfrage nebenbei...
03.01.2009 21:11:00
Rudolf
Hi Erich,
ich habe schon geantwortet, habe leider vergessen darauf zu antworten. Dein Posting hat mir super weiter geholfen.
Vielen Dank dafür.
rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige