|
| 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 " "&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
| |
|
|