28 messaggi dal 28 gennaio 2004
Ciao ragazzi, un saluto al forum.
Ho questo problema con il codice postato. In pratica ho due cicli for...next, il primo me lo stampa normalmente a video, il secondo non lo vede per niente!!!
Mi aiutate??

Bye
Giuseppe

<body><%
On Error Resume Next

Set Conn = Server.CreateObject ("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&_
server.MapPath("dbnews.mdb")

pag = TRIM(Request.QueryString("pag"))
If pag="" Then
pag = 1
Else
pag = CInt(pag)
End If

Dim sql
sql = "SELECT * FROM last_news"
Dim rs
Set rs = Server.CreateObject ("ADODB.Recordset")
rs.PageSize = 5
rs.Open sql, conn, 3, 3
rs.AbsolutePage = pag
%>
<table border="0" cellpadding="2" cellspacing="0" width="100%" class="maintext">
<tr>
<td width="100%">
Elenco eventi in questa pagina:<br>
<%
For i=1 to rs.PageSize
Response.Write( "<a href=#"& rs("last_name")&">"& rs("last_name")&"<br>" )
%>
<%
rs.MoveNext
If rs.EOF Then Exit For
Next
%>
<br>
</td>
</tr>
<tr>
<td width="100%">
<%
For i=1 to rs.PageSize
Response.Write( "<span class=boxtitlehomenews><b>"& rs("last_name")&"</b></span>"&"<br>" )
Response.Write( rs("last_desc")&"<br>" )%>
<hr size=1 align=left width=95% color=#EAE7DF><br>
<%
rs.MoveNext
If rs.EOF Then Exit For
Next

If ( pag > 1) Then
Response.Write("<br><br><a href=""eventi.asp?pag=" &pag-1& """>Pagina precedente</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;")
End If
If ( pag < rs.PageCount ) Then
Response.Write( "<a href=""eventi.asp?pag=" &pag+1& """>Pagina successiva</a>")
End If
%>
<%
rs.close
set rs = NOTHING

conn.close
set conn = NOTHING
%>
</td>
</tr>
</table>
</body>
280 messaggi dal 05 agosto 2004
Prova ad eseguire il codice commentando la riga "On Error Resume Next". Magari ti restituisce un errore che così non visualizzi.

Che lo sforzo sia con te!!!
28 messaggi dal 28 gennaio 2004
Ciao Theterz,
ho provato e mi da il seguente errore

error '80020009' ... line 54 (corrisponde al secondo ciclo)

Ti dice qualcosa questo errore??
280 messaggi dal 05 agosto 2004
La descrizione dell'errore è:
"Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record."
Secondo me, con il primo ciclio tu arrivi alla fine del tuo recordset, ecco perchè il secondo non ti visualizza più niente.

Potresti unire i due cicli così:
<%
For i=1 to rs.PageSize
Response.Write( "<a href=#"& rs("last_name")&">"& rs("last_name")&"<br>" )
Response.Write( "<span class=boxtitlehomenews><b>"& rs("last_name")&"</b></span>"&"<br>" )
Response.Write( rs("last_desc")&"<br>" )%>
<hr size=1 align=left width=95% color=#EAE7DF><br>
<%
rs.MoveNext
If rs.EOF Then Exit For
Next
%>

Verifica poi te la corretta apertura e chiusura dei tag <td>.

Che lo sforzo sia con te!!!
28 messaggi dal 28 gennaio 2004
Il mio problema è che

con il primo ciclo ho bisogno di un elenco con il solo titolo degli eventi presenti in quella pagina (i titoli saranno collegati tramite segnalibro - che comunque non l'ho ancora del tutto messo a punto ma il codice Html lo posso corregere dopo!).

Con il secondo ciclo stampo a video i titoli e la descrizione dei 5 eventi per pagina.

Come mi hai suggerito tu non me la fa questa separazione, primo e secondo ciclo insieme.

Fammi sapere
G.
280 messaggi dal 05 agosto 2004
Prova a vedere se aggiungendo
rs.movefirst
rs.AbsolutePage = pag
tra il primo e il secondo ciclio ti risolve il problema.
Modificato da theterz il 05 maggio 2005 18.11 -

Che lo sforzo sia con te!!!
28 messaggi dal 28 gennaio 2004
Cosi facendo mi effettua tutti e due i cicli, il secondo correttamente invece il primo mi ripete solo il primo rs.

ti invio un email con la l'indirizzo di prova della pagina
280 messaggi dal 05 agosto 2004
Sicuro di aver messo i due comandi
rs.movefirst
rs.AbsolutePage = pag
dopo il primo "next" e prima del secondo "For i=1 to rs.PageSize"?

Che lo sforzo sia con te!!!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.