Avatar billede graugart Nybegynder
29. oktober 2001 - 11:35 Der er 21 kommentarer

Tvinge en while løkke til at køre forfra?

Kan man på en eller anden måde få en while løkke til at køre forfra mens den er i gang?

Altså noget i retning af:

while Not obj.EOF 
  If noget Then
    obj.MoveNext
    Wend
  End If
  response.write \"lalala\"
  obj.MoveNext
wend
Avatar billede goz Nybegynder
29. oktober 2001 - 11:36 #1
brug obj.MoveFirst
Avatar billede graugart Nybegynder
29. oktober 2001 - 11:37 #2
det gør da ingen forskel?
Avatar billede goz Nybegynder
29. oktober 2001 - 11:39 #3
den genplacerer din cursor til det første recordset. Er det ikke det di vil ?
Avatar billede madrich Nybegynder
29. oktober 2001 - 11:40 #4
kun hvis forbindelsen til basen tillader at man går tilbage i Record Settet
Avatar billede madrich Nybegynder
29. oktober 2001 - 11:42 #5
Hvorfor køre den samme løkke igen og igen, tilstanden vil komme igen, derfor vil den være uendelig, og du belaster serveren??!
Avatar billede graugart Nybegynder
29. oktober 2001 - 11:42 #6
Nej nej... jeg vil have den til at \"gå videre\" hvis if sætningen er true
Avatar billede graugart Nybegynder
29. oktober 2001 - 11:43 #7
jeg vil ikke tilbage i record settet, jeg skal bare videre i while løkken hvis if sætningen er true
Avatar billede madrich Nybegynder
29. oktober 2001 - 11:44 #8
det gør du allerede!

Avatar billede graugart Nybegynder
29. oktober 2001 - 11:45 #9
Nej det virker ikke
Avatar billede graugart Nybegynder
29. oktober 2001 - 11:45 #10
Microsoft VBScript compilation error \'800a0400\'

Expected statement

/ext/forms/interface.asp, line 426

Wend
^
Avatar billede teepee Nybegynder
29. oktober 2001 - 11:45 #11
bare drop Wend i linie 4?
Avatar billede madrich Nybegynder
29. oktober 2001 - 11:46 #12
det er helt korrekt:

if noget er et eller andet:)

while not obj.EOF
obj.movenext
wend

if noget ikke er et eller andet:)


while not obj.EOF
response.write \"lalala\"
obj.MoveNext
wend
Avatar billede madrich Nybegynder
29. oktober 2001 - 11:47 #13
må vi se det rigtige kode--> så kan det være vi kan gøre noget?
Avatar billede teepee Nybegynder
29. oktober 2001 - 11:47 #14
Husk at du kan risikere en dobbelt obj.MoveNext hvis sidste række opfylder dit kritere, så derfor skal du lige tage hensyn til dette
Avatar billede graugart Nybegynder
29. oktober 2001 - 11:48 #15
Hehe, ja min kode er lidt kompliceret, så jeg bliver desværre nødt til at få den til at bruge wend i if sætningen der er ingen vej uden om.... Er der virkelig ingen break-and-continue-agtig funktion i while løkker eller noget? :)
Avatar billede graugart Nybegynder
29. oktober 2001 - 11:49 #16
\'-----------------------------------------------------------------------------------------------------
\' CONTENT LOOP
\'-----------------------------------------------------------------------------------------------------
While Not rsAnswers.EOF

    \'-----------------------------------------------------------------------------------------------------
    \' FIND CURRENT RESPONSIBLE
    \'-----------------------------------------------------------------------------------------------------
    sql = \"SELECT * FROM tFormsTemplatesS WHERE gTemplateNId = \'\" & rsAnswers(\"gTemplateNId\") & \"\'\"
    Set rsTemplateDetails = ExecSQL(sql)

        If rsTemplateDetails.EOF Then         
          rsAnswers.MoveNext
          Wend
        End If

:::::: 300 linjer længere nede ::::::::

Wend
Avatar billede madrich Nybegynder
29. oktober 2001 - 11:49 #17
while Not obj.EOF 
  If noget Then
      response.write \"hurra\"
  else
      response.write \"lalala\"
  End If

  obj.MoveNext
wend

ville jeg nok gøre , men det er ikke til at sige hvad du vil:)
Avatar billede graugart Nybegynder
29. oktober 2001 - 11:51 #18
det er altså sådan, at hvis rsTemplateDetails ikke indeholder noget, så skal den \"wend\'e\", men jeg ved jo ikke om den er tom før jeg har kørt sql query\'en som bruger rsAnswers... Puha er selv lidt forvirret :)

Så kunne jeg jo selvfølgelig køre sql queryen en gang mere for at checke og så moveNext\'e hvis det er, men det er jo ikke ligefrem performance venligt :)
Avatar billede graugart Nybegynder
29. oktober 2001 - 11:52 #19
ja, jeg tror også at if...else er den bedste løsning, det ville bare være rart hvis der var noget break-agtigt til while... ville holde koden lidt pænere i ved :)
Avatar billede madrich Nybegynder
29. oktober 2001 - 11:54 #20
while Not obj.EOF 
  If noget Then
      response.write \"hurra\"
  else
      response.write \"lalala\"
  End If

  obj.MoveNext
wend

skulle virke!
Avatar billede madrich Nybegynder
29. oktober 2001 - 11:55 #21
sorry - kom til at svar igen, det er hvad der sker når man laver 3 forskellige ting samtidig:)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester