Ciao a tutti!
ho un problema con uno script per la paginazione che ho sempre usato e che non mi ha mai dato problemi;intanto ve lo posto:

codice:
<table border="0" cellpadding="2" style="border-collapse: collapse" bordercolor="#111111" width="98%">
              <tr>
                <td width="7%" bgcolor="#99B7D7" align="center" valign="top">
                <font face="Verdana" size="1" color="#FFFFFF">ID</font></td>
                <td width="20%" bgcolor="#99B7D7" align="center" valign="top">
                <a href="list-news.asp?order=tit">
                <font face="Verdana" size="1" color="#FFFFFF">TITOLO</font></td>
                <td width="53%" bgcolor="#99B7D7" align="center">
                <font face="Verdana" size="1" color="#FFFFFF">TESTO</font></td>
                <td width="12%" bgcolor="#99B7D7" align="center">
                <a href="list-news.asp?order=data">
                <font face="Verdana" size="1" color="#FFFFFF">DATA</font></td>
                <td width="8%" bgcolor="#99B7D7" align="center">
                <a href="list-news.asp?order=mant">
                <font face="Verdana" size="1" color="#FFFFFF">MANTIENI</font></td>
                <td width="8%" bgcolor="#99B7D7" align="center">
                <font face="Verdana" size="1" color="#FFFFFF">MODIFICA</font></td>
                <td width="8%" bgcolor="#99B7D7" align="center">
                <font face="Verdana" size="1" color="#FFFFFF">ELIMINA</font></td>
              </tr>
              <%
                sql = "SELECT * FROM News ORDER BY Data desc, ID desc"
                rs.Open sql, conn, 1, 3
                a = 0
                do while not rs.EOF 
                  a = a + 1
                  rs.movenext
                loop 
                rs.close
                
                if a = "0" then 
                  Response.Write("Nessun dato disponibile") 
                else
                   
                  ord = Request.Querystring("order")
                  if ord = "id" then
                    ord = "ID"
                  end if
                  if ord = "tit" then
                    ord = "Titolo" 
                  end if
                  if ord = "mant" then
                    ord = "Mantieni" 
                  end if
                  if ord = "" OR ord = "data" then
                    ord = "Data desc, id desc"
                  end if
  
                  Dim Page_Size
                  Dim Current_Page
                  Dim Page_Count

                  Page_Size = 20 '###------Quante per ogni pagina?--------

                  if Request("Page") = "" Then
                    Current_Page = 1
                  else
                    Current_Page = CInt(Request("Page"))
                  end if

                  rs.CursorLocation = adUseClient
                  rs.PageSize = Page_Size
                  
                  sql="SELECT * From News ORDER BY "&ord&" "  
                  rs.Open sql, conn, 1, 3
                  
                  Page_Count = rs.PageCount

                  if 1 > Current_Page then Current_Page = 1
                  if Current_Page > Page_Count then Current_Page = Page_Count

                  rs.AbsolutePage = Current_Page

                  do while rs.AbsolutePage = Current_Page AND not rs.EOF                   
                  id=rs("ID")
                  titolo=rs("Titolo")
                  testo=rs("Testo")
                  data=rs("Data")
                  mantieni = rs("Mantieni")
                  
                  if mantieni <> "" then
                    if mantieni = True then
                      ck = "checked"
                    else
                      ck = ""
                    end if
                  end if
                  
                  if data <> "" then
                    gg = Day(data)
                    mm = Month(data)
                    aaaa = Year(data)
                    data_c = CDate(gg & "/" & mm & "/" & aaaa)
                  end if
                
                  i = i + 1
                  if i MOD 2 = 0 then
                    colour = ("#E7EEF5")
                  else
                    colour = ("#FFFFFF")
                  end if
              %>
              <tr bgcolor="<%=colour%>">
                <td valign="top" style="border-left: 1px dotted #D3D3D3; border-right: 1px dotted #D3D3D3" align="left" width="7%">
                <font face="Verdana" size="1"><%=id%></font>
                </td>
                <td width="20%" valign="top" style="border-left: 1px dotted #D3D3D3; border-right: 1px dotted #D3D3D3" align="left">
                <font face="Verdana" size="1"><%=titolo%></font>
                </td>
                <td width="53%" valign="top" style="border-left: 1px dotted #D3D3D3; border-right: 1px dotted #D3D3D3" align="left">
                <font face="Verdana" size="1"><%=testo%></font>
                </td>
                <td width="12%" valign="top" style="border-left: 1px dotted #D3D3D3; border-right: 1px dotted #D3D3D3" align="left">
                <font face="Verdana" size="1"><%=data_c%></font>
                </td>
                <td width="8%" valign="top" style="border-left: 1px dotted #D3D3D3; border-right: 1px dotted #D3D3D3" align="left">
                <p align="center">
                <input type="checkbox" name="mantieni" <%=ck%> disabled value="ON">
                </td>
                <td width="8%" valign="top" style="border-left: 1px dotted #D3D3D3; border-right: 1px dotted #D3D3D3" align="center">
                [img]modifica.gif[/img]</td>
                <td width="8%" valign="top" style="border-left: 1px dotted #D3D3D3; border-right: 1px dotted #D3D3D3" align="center">
                ', 'Sei sicuro di voler cancellare questa news?')">[img]cancella.gif[/img]</td>
              </tr>
              <% 
                    rs.movenext
                  loop
                  rs.close
              %>
            </table>
            </center>
          </div>
          <font size="1" color="#84AABD" face="Verdana">
          <%
  			Response.Write "<div align=center>"
  			Response.Write "

"
  			if Current_Page = 1 then
  		      Response.Write "<font color='#000000'>Inizio| "
  			end if 
  			if Current_Page >= 2 then
  			  Response.Write "<< Inizio | " & vbCrLf
  			end if 
  			if Current_Page >= Page_Count then
  			  Response.Write "<font color='#000000'>Successiva >|"
  			end if 
 			if Current_Page < Page_Count then
  			  Response.Write "Successiva >" & "|" & vbCrLf
  			end if 
  			if Current_Page <> 1 then
  			Response.Write "< Precedente  | " & vbCrLf
  			Response.Write " " & vbCrLf
  			end If 
  			if Current_Page = 1 then
  			Response.Write "<font color='#000000'>< Precedente | "
  			end if 
  			if Current_Page <> Page_Count then
  			  Response.Write "Ultima >>" & vbCrLf
  			end if 
  			if Current_Page >= Page_Count then
  			  Response.Write "Ultima"
  			end If 
  			
  			end if
  		  %>
  		  </font>
il fatto è che, così come è il codice, non vedo nessuna riga della tabella stampata,senza errori ma non va molto bene che non mi restituisca niente.
il problema l'ho identificato ma non riesco a risolverlo..sta tutto all'inizio del ciclo do while e precisamente se invece che ripetere il ciclo fino a quando è verificata la condizione rs.AbsolutePage = Current_Page lo faccio fin quando questa condizione NON si verifica vedo tutti i record che mi servono.qui il problema però è che li vedo tutti senza la paginazione.
non so se sono stato molto chiaro..

grazie a chi mi darà una mano..