04. juli 2012 - 08:54Der er
4 kommentarer og 1 løsning
Løkke løber for langt
Hej Eksperter
jeg vil gennemløbe et recordset og tilføje flere records løbende: [code] rst.MoveFirst While Not rst.EOF add.AddNew For Lngx = 0 To add.Fields.Count - 1 add.Fields(Lngx) = rst.Fields(Lngx) Next 'lidt mere kode her add.Update rst.MoveNext Wend [/code]
jeg har et ekstra recordset (add) for at kunne kopiere data fra rst til add. Jeg var lidt spændt på hvorvidt min While ville tage de nye rækker også og dermed aldrig blive færdig, men det lader ikke til at være tilfældet.
MEN når første post kopieres, bliver den nye post behandlet inden løkken er færdig. Hvis mine stamdata er 10 rækker, behandler løkken altså 11 rækker (så i stedet for at doble de 10 op til 20, bliver de til 21)
Nogen bud på hvad der går galt og hvad jeg kan gøre for at afhjælpe?
Prøvede at ændre While lækken til en For, så spiller det... [code]For LngY = 0 To rst.RecordCount 'kode Next[/code]
Men While løkken burde vel også kunne bruges, og jeg finder den mere oplagt at vælge her, så hvis nogen kender svaret på hvorfor det går galt vil jeg gerne høre det :)
Bare for at være sikker på at jeg har forstået det korrekt.
Du har f. eks. en kolonne med 10 rækker. Disse ti rækker behandles med en kode som du har lavet. Nu skal der tilføjes nogle flere rækker i samme kolonne. Disse rækker kommer fra en anden fil og lægges ind efter de første 10 rækker så der nu er 15 rækker istedet. Nu skal dit loop så igen starte fra række et, men naturligvis køre frem til og med række 1 istedet for række 10. er det korrekt?
koden skal gå alle rækker igennem og kopiere dem, så 10 rækker bliver til 20. Men det lader til at den behandler den første af de nye rækker også, så de 10 rækker bliver til 21. Jeg var bekymret om den ville løbe for evigt, med også at behandle de nye rækker og kopiere dem igen og igen, men det er ikke tilfældet... Jeg har lavet løkken til en 'for løkke' i stedet, nu lader det til at køre, men det er da lidt sært... :/
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.