Microsoft Visual Basic für Applikationen
-
SQL LEFT mit GROUP BY JOIN, & COUNT WHERE-KlauselSQL LEFT mit GROUP BY JOIN, COUNT & WHERE-Klausel (VBA)
Problem gelöst: Dank um den Link @Vityata zu teilen. Nachstehend ist der korrigierte Code für andere angegeben.
strSQL = "SELECT A.ID, A.Reason, COUNT(B.TimeStamp)" & _
"FROM tblReasons A " & _
"Left Join " & _
"(" & _
"SELECT TimeStamp, Reason FROM tblTracker " & _
"WHERE TimeStamp > #04/11/2017# and TimeStamp < #04/14/2017# " & _
")B ON A.ID = B.Reason " & _
" GROUP BY A.ID, A.Reason"
Nach meinem besten Wissen sollte die WHERE-Klausel nach der LEFT JOIN-Klausel sein. – Rory
@Rory du hast Recht damit. Ich bekomme den Fehler nicht mehr, aber ich bekomme auch nicht die gewünschten Ergebnisse. Ich kann die JOIN- und WHERE-Klausel nicht ausführen. Ich versuche, die Anzahl aller tblReasons zu erhalten. Grund unabhängig davon, ob WHERE tblTracker.TimeStamp zurückgibt. Es sollte also 0 count anzeigen, wenn keine Ergebnisse mit WHERE-Klausel – illoosions
gefunden werden. Es ist viel einfacher, wenn Sie mit der richtigen SQL-Syntax innerhalb von Access beginnen. Wenn in Access alles funktioniert und Sie das gewünschte Ergebnis erhalten, kopieren Sie die SQL-Anweisung in Excel-VBA und fügen Sie sie in Ihren Code ein. – Jochen