Hmm, vad försöker du göra eg.? Loopen kommer ju aldrig att köras, eftersom att fdid är rei("receotid"), då du sätter det värdet på raden innan.
Och istället för en Until-loop borde en While-loop passa bättre;
Do While Not rei("receptid") = fdid
...
10 svar · 215 visningar · startad av Jacob
fdid=rei("receptid")
do until rei("receptid")=fdid
rei.movenext
loop
det blit undantags fel, why?!?
Hmm, vad försöker du göra eg.? Loopen kommer ju aldrig att köras, eftersom att fdid är rei("receotid"), då du sätter det värdet på raden innan.
Och istället för en Until-loop borde en While-loop passa bättre;
Do While Not rei("receptid") = fdid
...
ok jag ska förklara lite mera.
Det är lite mera kod egentilgen:
<%
rei = "SELECT * FROM rei"
SET rei=connect.execute(rei,,adCmdText)
do until rei.eof
recept = "SELECT receptid FROM rei where receptid="&rei("receptid")&sok
SET recept=connect.execute(recept,,adCmdText)
If Not recept.eof then response.write (recept("receptid")&"<br>")
fdid=rei("receptid")
do until not rei("receptid")=fdid
rei.movenext
loop
loop
connect.close
%>
Det jag vill göra är att köra movenext på rei ända tills receptid inte är samma som innan.
[Redigerat av Jacob den 09 okt 2001]
larsG receptid är av typen tal
Jag förstår inget alls av din kod.
Varför har du den inre select-satsen? Kan du beskriva vilken sökning du vill göra.
det ända jag vill göra är att köra movenext ända tills det nya recsetet inte är samma som innan.
Jag lade till några kontroller
<%
rei = "SELECT * FROM rei"
SET rei=connect.execute(rei,,adCmdText)
do until rei.eof
recept = "SELECT receptid FROM rei where receptid="&rei("receptid")&sok
SET recept=connect.execute(recept,,adCmdText)
If Not recept.eof then response.write (recept("receptid")&"<br>")
recept.close
fdid=rei("receptid")
do until rei.eof or rei("receptid") <> fdid
rei.movenext
loop
if rei.eof then exit do
loop
connect.close
%>
Det går förmodligen att skriva koden enklare men, som sagt ...
jag får fortfarande undantagsfel, sorry
Har lös det:
fdid=rei("receptid")
do until rei.eof
if rei("receptid")=fdid then
rei.movenext
Else
exit do
end if
loop
Men jag fattar inte varför det inte gick på det andra sättet.
Tack LarsG
Okej, du sa att det var tal så vi får väl lägga till lite konverteringar då.
<%
rei = "SELECT * FROM rei"
SET rei=connect.execute(rei,,adCmdText)
do until rei.eof
recept = "SELECT receptid FROM rei where receptid="&rei("receptid")&sok
SET recept=connect.execute(recept,,adCmdText)
If Not recept.eof then response.write (recept("receptid")&"<br>")
recept.close
fdid= clng(rei("receptid"))
do until rei.eof
if clng(rei("receptid")) <> fdid then exit do
loop
if rei.eof then exit do
loop
connect.close
%>
Jag ändrade lite i den inre do-loopen också.