/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Loop uden do
Fra : Kurt G


Dato : 06-05-07 10:55

Jeg har følgende kode (nummereringen er min):
1 IF Not svar.EOF Then
2 Do While Not svar.EOF
3 Aar = svar.fields("År")
4 Nr = svar.fields("Nr")
5 Side = svar.fields("Side")
6 'Forfatter og titel skal findes
7 soegestr = "Select * From TitelForfatter Where Side="&Side&" AND
Nr="&Nr&" AND År="&Aar
8 set titelsvar = server.createobject("adodb.recordset")
9 titelsvar.open soegestr,Conn
10 If not titelsvar.eof Then
11 Do While not titelsvar.eof
12 soegestr=titelsvar.Fields("Titel")
13 response.write "  "&soegestr
14 Loop
15 titelsvar.movenext
16 titelsvar.close
17 'Næste
18 svar.MoveNext
19 Loop
20 End If
21 svar.close
22 Conn.Close
23 Set Conn = Nothing

Det giver fejlmelding: "'Loop' uden 'Do'" i linie 19.
Fjerner jeg nu linie 19, får jeg fejlmeldingen:
"'Loop' var ventet" i linie 23. Det kører i ring!
Bibeholder jeg det oprindelige samt fjerner linie 10 til 15, er koden i
orden.

Grunden til både linie 11 og 12 er, at jeg før har fået at vide, at det kan
løse problemer med loop!
Det ser ude som om to loop inden i hinanden skaber problemer.

Er der en forklaring/løsning?

Mvh Kurt



 
 
Brian B. Christensen (06-05-2007)
Kommentar
Fra : Brian B. Christensen


Dato : 06-05-07 12:12

On Sun, 6 May 2007 11:55:23 +0200, "Kurt G" <kurt_g@guldbaek.net>
wrote:

>Er der en forklaring/løsning?

Generelt, er der nogle kodefejl. Dine IF'er er ikke nødvendige, da
dine DO løkker har samme betingelser. Desuden mangler du en END IF til
din sidste IF. Men det er så ligemeget, da jeg har fjernet IF'en i
nedenstående kode.

Jeg foreslår følgende kode (utestet), uden ellers at tage stilling til
logikken i koden:

Do While Not svar.EOF
Aar = svar.fields("År")
Nr = svar.fields("Nr")
Side = svar.fields("Side")
soegestr = "Select * From TitelForfatter Where Side="&Side&" AND
Nr="&Nr&" AND År="&Aar
set titelsvar = server.createobject("adodb.recordset")
titelsvar.open soegestr,Conn
Do While not titelsvar.eof
soegestr=titelsvar.Fields("Titel")
response.write "&nbsp;&nbsp;"&soegestr
Loop
titelsvar.movenext
titelsvar.close
svar.MoveNext
Loop



--
Creator of http://www.natart.dk
Webgalleri? http://www.brinch.it/webgal.asp

Michael Zedeler (06-05-2007)
Kommentar
Fra : Michael Zedeler


Dato : 06-05-07 15:48

Brian B. Christensen skrev:
> On Sun, 6 May 2007 11:55:23 +0200, "Kurt G" <kurt_g@guldbaek.net>
> wrote:
>
>> Er der en forklaring/løsning?
>
> Jeg foreslår følgende kode (utestet), uden ellers at tage stilling til
> logikken i koden:

Hvi sman skal tage stilling til koden iøvrigt, ligner det vældig meget
et join. Den slags kan man lige så godt få databasen til.

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
I am less likely to answer usenet postings by anonymous authors.
Visit my home page at http://michael.zedeler.dk/

Kurt G (07-05-2007)
Kommentar
Fra : Kurt G


Dato : 07-05-07 10:16

> Hvis man skal tage stilling til koden iøvrigt, ligner det vældig meget et
> join. Den slags kan man lige så godt få databasen til.
>
> Mvh. Michael.

Det har du sikkert ret i, og jeg har da også oprette en forespørgsel, der
viser det korrekt.
Men så vidt jeg kan se af denne forespørgsel, viser den kun de poster, hvor
der er data til alle felter.
Det er der ikke altid i mit tilfælde, og derfor skal der vises tomme felter,
hvor data mangler!

En del af grunden er nu også, at det var en tilføjelse, der kom efter at det
meste var lavet.

Mvh Kurt



Leif Neland (08-05-2007)
Kommentar
Fra : Leif Neland


Dato : 08-05-07 06:27

Kurt G wrote:
>> Hvis man skal tage stilling til koden iøvrigt, ligner det vældig
>> meget et join. Den slags kan man lige så godt få databasen til.
>>
>> Mvh. Michael.
>
> Det har du sikkert ret i, og jeg har da også oprette en forespørgsel,
> der viser det korrekt.
> Men så vidt jeg kan se af denne forespørgsel, viser den kun de
> poster, hvor der er data til alle felter.
> Det er der ikke altid i mit tilfælde, og derfor skal der vises tomme
> felter, hvor data mangler!

Så skal du lave et "Left join"

Bruges, hvor "forældretabellen" ikke altid har "børn"

Leif



Søg
Reklame
Statistik
Spørgsmål : 177547
Tips : 31968
Nyheder : 719565
Indlæg : 6408797
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste