Hallo,
ich bin am Ende meiner Weisheit
Ich habe ein RS das aus gefilterten Daten besteht (die Datensätze mit der größten Summenanzahl). Weiters ein zweites RS das mir Datensätze anzeigt, die Mehrfacheintragungen aus dem ersten RS anzeigt (hier erhalte ich allerdings nur die Mehrfacheintragung an sich und die Anzahl der Mehrfacheintragungen OHNE die restlichen Datenfelder)
Ich versuche nun schon seit einer Weile, RS 1 mit RS 2 dahingehend abzugleichen, dass ich die Mehrfacheintragungen mit allen Datenfeldern erhalte.
Den 1. Recordset erhalte ich mit:
sSql = "SELECT [Z1],[Z2],[Z3],[Z4],[Z5],[Z6] FROM [Irgendwas]"
sSql = sSql & "WHERE [Datum] >Now() -365" & "*" & cboYear.Text
sSql = sSql & " ORDER BY [Nr]" Den 2. Recordset erhalte ich mit:
sql = "SELECT Double, COUNT(*) FROM [Abfrage] GROUP BY Double HAVING COUNT(*)" & _
"> 1 ORDER BY COUNT(*) DESC, Double ASC" Der bisher vergebliche Abgleich, weil ich zwar jene gefilterten Datenfelder bekomme, die im 2. RS ausgeworfen werden, aber dafür alle doppelten etc. erfolgt mit:
qSql = "SELECT * FROM [Abfrage], [Doppler] WHERE [Abfrage.Double] =" & _
"[Doppler.Double]"
qSql = qSql & "ORDER BY SumK DESC, Sum3 DESC, Sum4 DESC, Sum5 DESC, Sum6 DESC" Wenn ich DISTINCT einfüge:
qSql = "SELECT DISTINCT Double, * FROM [Abfrage], [Doppler] WHERE" & _
"[Abfrage.Double] = [Doppler.Double]"
'qSql = qSql & "ORDER BY SumK DESC, Sum3 DESC, Sum4 DESC, Sum5 DESC, Sum6 DESC" weigert sich der Interpreter das zur Kenntnis zu nehmen (Fehler Nr. 3079, das angegebene Feld Double kann sich auf mehr als eine der Tabellen beziehen, die im FROM-Abschnitt der SQL-Anweisung angegeben werden)
Ich habe so ziemlich alle Möglichkeiten der Kombinatorik ausgeschöpft um das Problem zu lösen , bin aber mangels geeigneter Fachliteratur gescheitert.
Vielleicht kann mir jemand helfen wie dieses Problem zu lösen wäre.
Danke im Voraus |