Aus Recordset neuen Recordset erstellen

MrBean12345

Benutzer
Beiträge
5
Hallo zusammen,

vermutlich war meine letzte Frage zu speziell. Daher versuche ich es anders. Ich erstelle folgende zwei Recordsets:




Option Compare Database
Option Explicit

Public M_DBS As DAO.Database
Public Sub Lesen()

Dim SQL As String

'-------------------------------------------------------------------------------------------------------------------------------

Dim RohdatenKosten As DAO.Recordset

SQL = "SELECT [Kostenstelle], [ExpenseType_Group], SUM([Betrag_in_Hauswährung]) as AggregierteKosten FROM" & _
"[CC_Konten_Betrag] GROUP BY [Kostenstelle], [ExpenseType_Group];"

Set RohdatenKosten = DBS.OpenRecordset(SQL, dbOpenDynaset)

'-------------------------------------------------------------------------------------------------------------------------------

Dim RohdatenErträge As DAO.Recordset

SQL = "SELECT [ProfitCenter], [Kategorisierung], [KundenName], SUM([Betrag]) as AggregierteErtäge" & _
" FROM [Kompakt aus Top20] GROUP BY [ProfitCenter], [Kategorisierung], [KundenName];"

Set RohdatenErträge = DBS.OpenRecordset(SQL, dbOpenDynaset)

'-------------------------------------------------------------------------------------------------------------------------------



Nun möchte ich die zwei Recordsets "RohdatenKosten" und "RohdatenErträge" zu einer Tabelle verbinden.

Jedoch komme ich hier mit der Syntax einfach nicht weiter. Selbst eine triviale Abfrage, wie z.B.




Dim Datenbasis As DAO.Recordset

SQL = "SELECT [RohdatenErträge]![ProfitCenter] FROM [RohdatenErträge];"

Set Datenbasis = DBS.OpenRecordset(SQL, dbOpenDynaset)



funktioniert einfach nicht. Mache ich aber einfaches Debugging, wie z.B. ,




Do While Not [RohdatenErträge].EOF

Debug.Print [RohdatenErträge]![ProfitCenter], [RohdatenErträge]![Kategorisierung], _
[RohdatenErträge]![KundenName], [RohdatenErträge]![AggregierteErtäge]

[RohdatenErträge].MoveNext

Loop



dann gibt VBA alle Spaltenausprägungen im Direktfenster aus.


Meine Frage: warum funktioniert bei mir das SELECT-Statement nicht, wenn ich aus einem bereits existierenden RecordSet ein neues RecordSet erstellen möchte? Für Ansätze wäre ich wirklich dankbar.

Liebe Grüße
 
Werbung:
Vermutlich ist eher die Vorgehensweise zu speziell. Ich kann vernünftig TSQL, hab aber von VBA keinen Schimmer. Wenn ich das so sehe hast du zwei Abfragen, eine davon auf eine bereits irgendwie berechnete Taebelle [Kompakt aus Top20]?

Ich würde versuchen die Abfragen direkt zu kombinieren. Ich erkenne aber keinen sinnvollen Zusammenhang aus den Spaltennamen. Auch kann es sein, das sich das mit den Mitteln von Access nur begrenzt in einer Abfrage machen läßt. Mit einem richtigen SQL Server deiner Wahl ginge das vermutlich besser.
 
Werbung:
Hi, vielen Dank für Deine Antwort. Sorry, dass ich mich erst jetzt melde.

Das Thema hat sich erledigt. Wie ich inzwischen gelesen habe, scheint es nicht möglich zu sein, Recordsets weiterzuverarbeiten. D.h. dass man aus dem Recordset erst eine Tabelle generieren muss, um diese dann in das nächste Recordset einzulesen. Allerdings fehlt mir immer noch der Glaube, dass die direkte Weitrverarbeitung nicht möglich sein soll. An dieser Stelle besteht m.E. ein Weiterentwicklungsbedarf (sofern dem wirklich so sein sollte).
 
Zurück
Oben