Oprettet ons. d. 04. juli 2012 kl. 08:54:13

tingholm
tingholm (14.156 point. Point ude: 150)
www.tingholm.com

Løkke løber for langt

Hej Eksperter

jeg vil gennemløbe et recordset og tilføje flere records løbende:

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


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?

Skrevet ons. d. 04. juli 2012 kl. 09:28:00| #1

tingholm
tingholm (14.156 point)
www.tingholm.com
Prøvede at ændre While lækken til en For, så spiller det...
For LngY = 0 To rst.RecordCount
'kode
Next


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 :)

Skrevet ons. d. 04. juli 2012 kl. 09:29:29| #2

tingholm
tingholm (14.156 point)
www.tingholm.com
hmm ' skulle være ' for at kommentere ud... Men det må man åbenbart ikke i en code blok. Håber ikke det forstyrrer for meget ;)

Skrevet fre. d. 13. juli 2012 kl. 18:09:00| #3

H_Klein
H_Klein (7.080 point)
Hej,

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?

Med venlig hilsen

Henrik

Skrevet man. d. 16. juli 2012 kl. 00:01:53| #4

tingholm
tingholm (14.156 point)
www.tingholm.com
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... :/

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   


Seneste spørgsmål

Find slutning af makro

Oprettet den 24. maj 2013 kl. 14.31
asdfghj giver 30 point for svar | Giv et svar »

konvertering af MS SQL datoformat

Oprettet den 20. maj 2013 kl. 11.54
Tago giver 60 point for svar | Giv et svar »

Lille VBA makro

Oprettet den 16. maj 2013 kl. 16.15
m_haahr giver 30 point for svar | Giv et svar »








Tips & Tricks fra PC World

Teaser billede

Fem smarte funktioner i din Mac som du sikkert ikke kender

Her har du fem muligheder for at tweake din Mac på en fed måde.


Anmeldelser fra PC World

Teaser billede

Test: Samsung Galaxy S4 er et hit - trods gøglertricks

Kan Samsung beholde førertrøjen i det store Android-race? Galaxy S4 er smækfyldt med innovative funktioner, men også med en del gøgl. Er det for meget? Få vores dom over Samsungs nye topmodel.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Ny opfindelse: Oplad din mobil på 20 sekunder

Måske er det snart slut med at lade mobilen op hver aften. Med ny opfindelse kan telefonen få fuld energi på sølle 20 sekunder.


Nyheder fra Computerworld

Teaser billede

Galleri: De 10 vildeste datacentre i verden

I en gammel kirke, i et oppusteligt telt, på nedlagte militæranlæg eller midt i ørkenen. Der er ingen grænser for, hvor man kan banke et datacenter op. Her er de 10 sejeste anlæg i verden. I...


IT Kurser
Samarbejdspartnere

Udgiver · © 2013 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger