Ciao, volevo sapere se qualcuno è in grado di correggermi l'errore di paginazione che sto trovando: ho utilizzato uno script che avevo già adottato per altre pagine ma qui la complessità è più alta:
il risultato che ottengo dopo aver specificato che voglio 5 record per pagina è che l'index mi riporta tutti i record(!) ma il pagecount riportatato alla fine conta giusto, infatti per un totale di 20 record mi mostra 4 pagine. Quando vado alla pagina successiva mi viene sempre mostrato l'elenco completo ma scompaiono i prime 5 record della prima pagina e così via in terza e quarta.
Probabilmente è un errore di posizionamento dello script: vi posto il codice se qualcuno è in rado di aiutarmi....
<%
settore=replace(Request.querystring("settore"),"'","''")
ragionesociale=replace(Request.querystring("ragionesociale"),"'","''")
fornitore=replace(Request.querystring("fornitore"),"'","''")
codicenordiconad=replace(Request.querystring("codicenordiconad"),"'","''")
tipo_servizio=replace(Request.querystring("tipo_servizio"),"'","''")
if ragionesociale = "" then ragionesociale = Null end if
if fornitore = "" then fornitore = Null end if
if ragionesociale = "tutti" then ragionesociale = Null end if
'if fornitore = "tutti" then fornitore = Null end if
if settore = "" then settore = Null end if
if settore = "tutti" then settore = Null end if
if codicenordiconad = "" then codicenordiconad = Null end if
'if codicenordiconad = "tutti" then codicenordiconad = Null end if
if tipo_servizio = "" then tipo_servizio = Null end if
if tipo_servizio = "tutti" then tipo_servizio = Null end if
Dim Conn
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& server.MapPath("fornitori.mdb")
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Gestione Fornitori Nordiconad HACCP</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top"> <p align="center"><font face="Verdana, Arial, Helvetica, sans-serif"><br>
<p><font color="#FF0000" size="5" face="Verdana, Arial, Helvetica, sans-serif"><strong>Gestione
Fornitori Nordiconad HACCP</strong></font></p>
<form action="" method="get" enctype="multipart/form-data" name="form1">
<div align="left">
<table width="100%" border="2" cellspacing="1" cellpadding="1" bgcolor="#FED95A" bordercolor="#FFFFFF">
<tr>
<td height="44" colspan="4"><font color="#FFFFFF" size="4" face="Verdana, Arial, Helvetica, sans-serif"><strong><img src="file:///D|/Documenti/img/loghiconad/Image1conad.jpg" width="44" height="44">FILTRI
DI RICERCA:</strong></font></td>
</tr>
<tr>
<td width="32%">
<div align="left"><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="2">Fornitore</font><font face="Verdana, Arial, Helvetica, sans-serif"><strong>
<input name="fornitore" type="text" id="fornitore" size="40" maxlength="40">
</strong></font></strong></font></div></td>
<td colspan="2">
<div align="left">
<p><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Indirizzo<br>
</font><font face="Verdana, Arial, Helvetica, sans-serif">
<input name="ragionesociale" type="text" id="ragionesociale" size="50" maxlength="50">
</font></strong></p>
</div></td>
<td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">settore
<font size="1">(GV,SL,OF,CARNI,SURG)</font> </font></strong><font face="Verdana, Arial, Helvetica, sans-serif">
</font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<select name="settore" id="settore">
<option value=""> </option>
<option value="Generi Vari">GV</option>
<option value="Rifatturazione">RIF</option>
<option value="Salumi e Latticini">SL</option>
<option value="Ortofrutta">OF</option>
<option value="Carni">CARNI</option>
<option value="Surgelati">SURG</option>
</select>
</font></strong></strong></td>
</tr>
<tr>
<td height="44" colspan="2">
<div align="left"></div>
<div align="left"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Codice
Nordiconad</font></strong>
<input name="codicenordiconad" type="text" id="codicenordiconad" size="15" maxlength="15">
<font size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>EX:
XXXXXX</strong></font></div></td>
<td width="36%"><div align="left"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Tipo
Servizio<font size="1"><font face="Verdana, Arial, Helvetica, sans-serif">(Mag,Rif,Misto)</font> <strong>
<select name="tipo_servizio" id="tipo_servizio">
<option value=""> </option>
<option value="Magazzino">MAG</option>
<option value="Rifatturazione">RIF</option>
<option value="Misto">M/R</option>
</select>
</font></font></strong></div></td>
<td width="17%"><div align="center"><font size="2" face="Arial, Helvetica, sans-serif">
<input type="submit" name="Submit" value="Avvia la Ricerca">
</font></div></td>
</tr>
</table>
</div>
</form>
<%
if codicenordiconad <> "" then
SQL="SELECT * FROM Tabella1 WHERE codicenordiconad = '"&codicenordiconad&"'"
else
SQL="SELECT * FROM Tabella1 WHERE fornitore like '%"&fornitore&"%' and ragionesociale like '%"&ragionesociale&"%' and codicenordiconad like '%"&codicenordiconad&"%' and settore like '%"&settore&"%' and tipo_servizio like '%"&tipo_servizio&"%'"
end if
Set rec = Server.CreateObject("ADODB.Recordset")
rec.Open sql, conn, 3, 3
RecordsPerPagina = 5
page = Request("page")
if page="" then page=1
' STRINGA SQL
strRicerca = Request("ricerca")
'apri recordset
If rec.Eof=True or rec.Bof=True then
Response.Write "<P>Nessun risultato trovato</P>"
Else
' paginazione
rec.PageSize = RecordsPerPagina
rec.AbsolutePage = Page
' blocco codice RecordsPerPagina
For i=1 to 5
if Not rec.EOF then
%>
<table width="100%" border="2" cellpadding="1" cellspacing="1" bordercolor="#FF6600">
<tr bgcolor="#F9BE46">
<td width="30%"> <div align="center"><font color="#333333"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Fornitore</font></strong></font></div></td>
<td width="26%" ><div align="center"><font color="#333333"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Indirizzo</font></strong></font></div></td>
<td width="7%" > <div align="center"><font color="#333333"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Settore</font></strong></font></div></td>
<td width="12%"> <div align="center"><font color="#333333"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">cod.
Nordiconad </font></strong></font></div></td>
<td width="9%"><div align="center"><strong><font color="#333333" size="2" face="Verdana, Arial, Helvetica, sans-serif">tipo
<br>
servizio</font></strong></div></td>
<td width="16%"><div align="center"><font color="#333333"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">telefono
</font></strong></font></div></td>
</tr>
<%
Do Until rec.EOF
%>
<tr bgcolor="#FFCC66">
<td><font color="#000000" size="2" face="Georgia, Times New Roman, Times, serif"><a href="Allegati/<%=rec("fornitore")%>.pdf" target="_blank"><%=rec("fornitore")%></a></font></td>
<td><div align="left"><font size="2" face="Georgia, Times New Roman, Times, serif"><font color="#000000"><%=rec("ragionesociale")%></font></font></div></td>
<td> <div align="left"><font color="#000000" size="2" face="Georgia, Times New Roman, Times, serif"><%=rec("settore")%>
</font></div></td>
<td> <div align="left"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=rec("codicenordiconad")%></font></div></td>
<td><div align="left"><font color="#000000" size="1"face="Verdana, Arial, Helvetica, sans-serif"><%=rec("tipo_servizio")%></font></div></td>
<td><div align="left"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=rec("telefono")%></font></div></td>
</tr>
<%
rec.MoveNext
Loop
%>
</table>
<%
end if
Next
End if
%>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Pagina
Attuale: <%= page %> </strong></font><br>
<%
' blocco codice
Response.Write "<B>Pagine:</B> "
For pag=1 to rec.PageCount
Response.Write "<A href='index3.asp?page=" & pag &"'>"
'Response.write "'>"
Response.Write pag
Response.Write "</A> "
Next
Response.Write "</P>"
Response.Write "<hr color=#0000CC>"
rec.Close
set rec = Nothing
%>
</table>
</body>
</html>
il risultato che ottengo dopo aver specificato che voglio 5 record per pagina è che l'index mi riporta tutti i record(!) ma il pagecount riportatato alla fine conta giusto, infatti per un totale di 20 record mi mostra 4 pagine. Quando vado alla pagina successiva mi viene sempre mostrato l'elenco completo ma scompaiono i prime 5 record della prima pagina e così via in terza e quarta.
Probabilmente è un errore di posizionamento dello script: vi posto il codice se qualcuno è in rado di aiutarmi....

<%
settore=replace(Request.querystring("settore"),"'","''")
ragionesociale=replace(Request.querystring("ragionesociale"),"'","''")
fornitore=replace(Request.querystring("fornitore"),"'","''")
codicenordiconad=replace(Request.querystring("codicenordiconad"),"'","''")
tipo_servizio=replace(Request.querystring("tipo_servizio"),"'","''")
if ragionesociale = "" then ragionesociale = Null end if
if fornitore = "" then fornitore = Null end if
if ragionesociale = "tutti" then ragionesociale = Null end if
'if fornitore = "tutti" then fornitore = Null end if
if settore = "" then settore = Null end if
if settore = "tutti" then settore = Null end if
if codicenordiconad = "" then codicenordiconad = Null end if
'if codicenordiconad = "tutti" then codicenordiconad = Null end if
if tipo_servizio = "" then tipo_servizio = Null end if
if tipo_servizio = "tutti" then tipo_servizio = Null end if
Dim Conn
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& server.MapPath("fornitori.mdb")
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Gestione Fornitori Nordiconad HACCP</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top"> <p align="center"><font face="Verdana, Arial, Helvetica, sans-serif"><br>
<p><font color="#FF0000" size="5" face="Verdana, Arial, Helvetica, sans-serif"><strong>Gestione
Fornitori Nordiconad HACCP</strong></font></p>
<form action="" method="get" enctype="multipart/form-data" name="form1">
<div align="left">
<table width="100%" border="2" cellspacing="1" cellpadding="1" bgcolor="#FED95A" bordercolor="#FFFFFF">
<tr>
<td height="44" colspan="4"><font color="#FFFFFF" size="4" face="Verdana, Arial, Helvetica, sans-serif"><strong><img src="file:///D|/Documenti/img/loghiconad/Image1conad.jpg" width="44" height="44">FILTRI
DI RICERCA:</strong></font></td>
</tr>
<tr>
<td width="32%">
<div align="left"><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="2">Fornitore</font><font face="Verdana, Arial, Helvetica, sans-serif"><strong>
<input name="fornitore" type="text" id="fornitore" size="40" maxlength="40">
</strong></font></strong></font></div></td>
<td colspan="2">
<div align="left">
<p><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Indirizzo<br>
</font><font face="Verdana, Arial, Helvetica, sans-serif">
<input name="ragionesociale" type="text" id="ragionesociale" size="50" maxlength="50">
</font></strong></p>
</div></td>
<td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">settore
<font size="1">(GV,SL,OF,CARNI,SURG)</font> </font></strong><font face="Verdana, Arial, Helvetica, sans-serif">
</font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<select name="settore" id="settore">
<option value=""> </option>
<option value="Generi Vari">GV</option>
<option value="Rifatturazione">RIF</option>
<option value="Salumi e Latticini">SL</option>
<option value="Ortofrutta">OF</option>
<option value="Carni">CARNI</option>
<option value="Surgelati">SURG</option>
</select>
</font></strong></strong></td>
</tr>
<tr>
<td height="44" colspan="2">
<div align="left"></div>
<div align="left"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Codice
Nordiconad</font></strong>
<input name="codicenordiconad" type="text" id="codicenordiconad" size="15" maxlength="15">
<font size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>EX:
XXXXXX</strong></font></div></td>
<td width="36%"><div align="left"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Tipo
Servizio<font size="1"><font face="Verdana, Arial, Helvetica, sans-serif">(Mag,Rif,Misto)</font> <strong>
<select name="tipo_servizio" id="tipo_servizio">
<option value=""> </option>
<option value="Magazzino">MAG</option>
<option value="Rifatturazione">RIF</option>
<option value="Misto">M/R</option>
</select>
</font></font></strong></div></td>
<td width="17%"><div align="center"><font size="2" face="Arial, Helvetica, sans-serif">
<input type="submit" name="Submit" value="Avvia la Ricerca">
</font></div></td>
</tr>
</table>
</div>
</form>
<%
if codicenordiconad <> "" then
SQL="SELECT * FROM Tabella1 WHERE codicenordiconad = '"&codicenordiconad&"'"
else
SQL="SELECT * FROM Tabella1 WHERE fornitore like '%"&fornitore&"%' and ragionesociale like '%"&ragionesociale&"%' and codicenordiconad like '%"&codicenordiconad&"%' and settore like '%"&settore&"%' and tipo_servizio like '%"&tipo_servizio&"%'"
end if
Set rec = Server.CreateObject("ADODB.Recordset")
rec.Open sql, conn, 3, 3
RecordsPerPagina = 5
page = Request("page")
if page="" then page=1
' STRINGA SQL
strRicerca = Request("ricerca")
'apri recordset
If rec.Eof=True or rec.Bof=True then
Response.Write "<P>Nessun risultato trovato</P>"
Else
' paginazione
rec.PageSize = RecordsPerPagina
rec.AbsolutePage = Page
' blocco codice RecordsPerPagina
For i=1 to 5
if Not rec.EOF then
%>
<table width="100%" border="2" cellpadding="1" cellspacing="1" bordercolor="#FF6600">
<tr bgcolor="#F9BE46">
<td width="30%"> <div align="center"><font color="#333333"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Fornitore</font></strong></font></div></td>
<td width="26%" ><div align="center"><font color="#333333"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Indirizzo</font></strong></font></div></td>
<td width="7%" > <div align="center"><font color="#333333"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Settore</font></strong></font></div></td>
<td width="12%"> <div align="center"><font color="#333333"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">cod.
Nordiconad </font></strong></font></div></td>
<td width="9%"><div align="center"><strong><font color="#333333" size="2" face="Verdana, Arial, Helvetica, sans-serif">tipo
<br>
servizio</font></strong></div></td>
<td width="16%"><div align="center"><font color="#333333"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">telefono
</font></strong></font></div></td>
</tr>
<%
Do Until rec.EOF
%>
<tr bgcolor="#FFCC66">
<td><font color="#000000" size="2" face="Georgia, Times New Roman, Times, serif"><a href="Allegati/<%=rec("fornitore")%>.pdf" target="_blank"><%=rec("fornitore")%></a></font></td>
<td><div align="left"><font size="2" face="Georgia, Times New Roman, Times, serif"><font color="#000000"><%=rec("ragionesociale")%></font></font></div></td>
<td> <div align="left"><font color="#000000" size="2" face="Georgia, Times New Roman, Times, serif"><%=rec("settore")%>
</font></div></td>
<td> <div align="left"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=rec("codicenordiconad")%></font></div></td>
<td><div align="left"><font color="#000000" size="1"face="Verdana, Arial, Helvetica, sans-serif"><%=rec("tipo_servizio")%></font></div></td>
<td><div align="left"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=rec("telefono")%></font></div></td>
</tr>
<%
rec.MoveNext
Loop
%>
</table>
<%
end if
Next
End if
%>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Pagina
Attuale: <%= page %> </strong></font><br>
<%
' blocco codice
Response.Write "<B>Pagine:</B> "
For pag=1 to rec.PageCount
Response.Write "<A href='index3.asp?page=" & pag &"'>"
'Response.write "'>"
Response.Write pag
Response.Write "</A> "
Next
Response.Write "</P>"
Response.Write "<hr color=#0000CC>"
rec.Close
set rec = Nothing
%>
</table>
</body>
</html>