Jag vill loopa en tabel, som skall ha fyra kolumner. detta funkar om jag har fyra poster i databasen, men ibland kanske det bara finns två poster och då får jag ett felmeddelande, datorn vill skriva ut alla kolumner ändå trots endast två poster. <code>loopa en tabell
här är min kod.
<code>
<%
colNumber = 4
Set MinCon = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
MinCon.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("/TEST.mdb")
SQL = "SELECT * FROM bilder"
rs.Open SQL, MinCon, 1, 2
%>
<table width="400" border="0" cellspacing="0" cellpadding="0">
<%Do Until rs.EOF%>
<tr>
<%For x = 1 to colNumber%>
<td align="left" valign="top" width="100" span class="brod">
<%If rs.EOF then%>
<%Else%>
<img src="../bilder/<%=rs("bildnamn")%>" width="75" height="75">
<%End if%>
<%rs.MoveNext
%>
</td>
<%Next%>
</tr>
<%Loop%>
</table>
<%
rs.Close
Set rs = Nothing
%>
</code>Sv: loopa en tabell
Flytta <%rs.MoveNext%> utanför For satsen så borde det funka
Typ så här
<%
colNumber = 4
Set MinCon = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
MinCon.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("/TEST.mdb")
SQL = "SELECT * FROM bilder"
rs.Open SQL, MinCon, 1, 2
%>
<br> <br>
<table width="400" border="0" cellspacing="0" cellpadding="0">
<%Do Until rs.EOF%>
<br><tr><br>
<%For x = 1 to colNumber%>
<br><td align="left" valign="top" width="100" span class="brod"><br>
<%If rs.EOF then%>
<br> <br>
<%Else%>
<br><img src="../bilder/
<%=rs("bildnamn")%> width=75 height=75><br>
<%End if%>
<br>
<br></td><br>
<%Next%>
<%rs.MoveNext%>
<br></tr><br>
<%Loop%>
<br></table><br>
<%rs.Close
Set rs = Nothing
%>
</code>