Jag har 5st recordset med 5 poster i varje som jag har fått från 5st olika AlphaServrar. Du pratar om 5 poster i 5 recordset som tar för lång tid - det är alltså 25 poster du loopar så det tar bara högst någon sekund. Det jag tror är värre är anslutningshastigheten tills du fått ett recordset från din alphaserver - det är där du får lägga krut istället.Slå ihop Recordset!?
Ett av fälten innehåller datum/tid, och nu vill jag slå ihop alla recordset så jag kan plocka ut dom 5 nyaste posterna oavsett vilken server dom kommer från.
Alltså nåt sånt här:
<code>
do until record2.eof
record1.addnews
for i = 0 to record1.fields.count
record1.fields(i).value = record2.fields(i).value
next i
record2.movenext
loop
</code>
Det är för långsamt och det måste finnas nåt vettigare sätt att göra det på!?
/Mvh PärSv: Slå ihop Recordset!?
Som svar på din fråga, skriv istället en sql-sats som täcker detta i ett svep så behöver du inte hämta in rad för rad, hämta nästa recordset osv. Om nu detta inte går så föreslår jag att ersätta .eof kontroll, samt .count med följande:
<code>
x = record2.recordcount
y = record1.fields.count
for a = 0 to x
record1.addnew
for i = 0 to y
record1(i) = record2(i)
next i
record2.movenext
next a
</code>
ps. förmodar att kommandot är .AddNew och inte .AddNews vilket jag inte vet vad det är för kommando. Sen att inte använda .Update gör även att informationen inte sparas i record1 ordentligt. Du kan även titta på något som kallas BatchUpdate och kan användas för att köra arbetet i minnet och sedan uppdatera efter en period av intervall, i detta fall långt efter dessa 25 loopar.
Sen kan du titta på .GetRows för att läsa upp ett recordset och loopa det via en array också som kan snabba upp det ännu mer. Hoppas att något av dessa tips kan hjälpa dig på vägen.
Hälsningar
/Pelle