Tommy skrev:
> Jeg har nå prøvd din kode, men får feilmelding:
> Either BOF or EOF is True, or the current record has been
> deleted. Requested operation requires a current record.
Problemet er at du udskriver data fra tre poster i din løkke - uden
at tjekke for EOF undervejs. Uanset antallet af poster vil du få en
fejl - enten fordi du forsøger at rykke forbi EOF eller også fordi
du forsøger at udskrive data ved EOF.
Her en kommenteret kode.
> Do While Not oRS.EOF
> %>
Her starter løkken. Nu er vi ved post 1.
> <td colspan="2">
> <%=oRS("Overskrift")%></td>
Udskriv fra post 1.
> </tr>
Hov - her lukker du en række der åbnes uden for løkken. Det giver
fejl i koden. Har du et åbn-element (<table>, <tr>, <td>) inde i
løkken skal det modsvares af et tilsvarende luk-element (</table>,
</tr>, </td>) inde i løkken - ellers ikke.
> <tr>
> <td><%=oRS.MoveNext %><%=oRS("Overskrift")%></td>
Ryk et trin videre. Udskriv fra post 2 (udskriften fejler hvis vi
er nået til EOF).
> <td><%=oRS.MoveNext %><%=oRS("Overskrift")%></td>
Ryk et trin videre. Udskriv fra post 3 (udskriften fejler hvis vi
er nået til EOF).
> </tr>
Luk rækken (fornuftigt nok)
> </table>
Luk tabellen! - hvorfor det? Det giver forkert kode at lukke en
tabel i en løkke når du ikke åbner den samme tabel i løkken.
> <%
> Loop
> %>
Fortsæt løkken.
For at rette op på koden skal du indføre tjek for EOF ved hver
ekstra movenext-kommando - og ikke have udskrivning efter sidste
movenext.
Her er et udkast:
<table>
<% Do While Not oRs.EOF %>
<tr><td colspan="2">
<%=oRS("Overskrift")%>
</td></tr>
<%
oRs.movenext
If Not oRs.EOF Then ' <--- Tjek for EOF, VIGTIGT
%>
<tr><td><%=oRS("Overskrift")%></td>
<%
oRs.movenext
If Not oRs.EOF Then ' <--- Tjek for EOF, 2. gang, VIGTIGT
%>
<td><%=oRS("Overskrift")%></td>
</tr>
<%
oRs.movenext ' Ryk frem inden næste løkkegennemløb -
' NB: Ingen dataudskrivning efter dette movenext.
Else ' Der er startet på en todelt række - den skal sluttes
%>
</tr>
<%
End If ' 2. tjek
End If ' 1. tjek
Loop ' Vend løkken.
%>
</table>
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på
http://usenet.dk/netikette/citatteknik.html