Hallihallo,
unsere letzten beiden Beiträge waren annähernd zeitgleich.
Grundsätzlich: Deinen angeführten Performancegrund gegen ein Union halte ich für unnötig konstruiert. Will heissen, du machst einen Denkfehler.
Daten, die du sowieso zusammen verarbeiten willst in mehreren Teilen (Aufrufen) zu holen (was bedeutet zusätzliches Marshaling, Interprozess-Kommunikation usw) und dann im Arbeitsspeicher zusammenzufügen wirkt sich noch negativer auf die Performance aus, das 2. Original Recordset bleibt ja erstmal erhalten und das 1. wird um das 2. noch vergrössert.
Aus deinen Beiträgen entnehme ich: Ein Union ist technisch gesehen möglich, die Daten haben auch dieselbe Struktur und sie stammen wohl aus der selben Quelle (Datenbank).
2. Thema: Wohin und warum willst du die zusammengeführten Daten übergeben?
3. Das Adodb.Recordset bietet keinen Bulkload. Du kannst aber
- das 1. Recordset in einen Xml-Stream serialisieren (.Save Methode)
- das 2. Recordset in einem 2. Xml-Stream serialisieren
- beide Xml-Streams mithilfe von XMLDOM/XSL zusammenführen
- das Resultat wieder als Recordset laden (.Open / ADODB.Stream usw.)
Aber effektiver (performanter) als
a) eine Schleife und .AddNew oder
b) eine Union Abfrage
wirst du nicht sein.
Wie mein Kollege immer so gern sagt: Back to field 1 / Gehen Sie zurück auf "Start", ziehen Sie nicht DM 4000 ein.
Mit anderen Worten, überdenke bitte dein Vorhaben nochmal von Anfang an. Es gibt ganz sicher einen besseren Weg.
Ciao, Frank