Salve a tutti, ho un problema sulla paginazione:

questo il codice

codice:
<%
'recupero la pagina
page = Request.QueryString("page")
' imposto il numero di record per pagina
perpage = 10

'connessione al db
Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.open "driver={Microsoft Access Driver (.mdb)};dbq=" & Server.MapPath("percorso/database.mdb")
Set Rs = Server.CreateObject("ADODB.Recordset")
sql = "SELECT FROM messaggi ORDER BY id"
Rs.Open sql, Conn, 1, 3

'imposto la variabile in modo da ottenere l'ultima se non ne viene specificata un'altra
If page = "" then
page = (rs.PageCount)
End if

'imposto la dimensione della pagina
Rs.PageSize = perpage
' mi sposto all'ultima pagina
Rs.AbsolutePage = page 

'scrivo i link ai 10 record
For i = 1 to perpage
If Not Rs.EOF then 
if Rs("id") < 10 then
Response.Write ("[0" & Rs("id") & "'> ")
else
Response.Write ("[" & Rs("id") & "'> ")
end if
Rs.MoveNext 
end if 
next

'scrivo i numeri delle pagine
Response.Write "

Pagine: "

For pag= 1 to rs.PageCount
if page = pag then
'grassetto per la pagina corrente
Response.Write ""
Response.Write "<A href='questapagina.asp?page=" & pag 
Response.write "'>" 
Response.Write pag 
Response.Write "</A> " 
Response.Write ""
else
'normale per le altre pagine
Response.Write "<A href='questapagina.asp?page=" & pag 
Response.write "'>" 
Response.Write pag 
Response.Write "</A> " 
end if
Next 

Response.Write "</P>" 

'chiudo la connessione
Rs.Close
Set Rs = Nothing
Conn.Close
Set Conn = Nothing
%>
fin qui tutto bene, ma il problema che quando apro la pagina per la prima volta mi da i risultati in questo modo
pagine: 1 2 3 4

e va bene, ma se clicco alla seconda pagina mi da questo risultato

pagine: 1 2 3 4

ovvero non mi mette la seconda pagina in grassetto, io penso che il problema sia qui: " if page = pag ...", ma non so come risolverlo. Se a voi funziona, posso postare il codice dell'intera pagina (non l'ho fatto in quanto è troppo lungo).

Grazie, ciao.