Ciao a tutti,
affonto con voi per la prima volta questa questione, al fine di ottimizzare il codice, e lasciare da parte le mie fantasiose soluzioni per individuare la più performante.

Al momento facevo così:
'conto i commenti
sql="SELECT count(id) from commenti where id =" & Replace(Trim(Request.QueryString("comid")),"'","'' ")
conn.open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath(mdbdatabase)
rs.Open sql, conn,1
conta=rs.fields(0)
rs.close
conn.close

'Variabile per n°commenti per pagina
ncomm=5

If conta<(ncomm+1) Then
max=conta
Else
max=ncomm
End If

'recupero info sulla pagina visualizzata
p=Trim(Request.QueryString("p"))
If p <2 Then'se sono alla prima pagina o non è indicata
p=1
End If

'mostro ncomm commenti
sql_display="SELECT titolo_commento,id,data_commento,commento from commenti where id_news =" & Replace(Trim(Request.QueryString("comid")),"'","'' ") &" order by id asc"
conn.open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath(mdbdatabase)
rs.open sql_display,conn
'passo avanti se sono a pagine successive di commento
For passavanti=1 to ((p*ncomm)+1)
rs.movenext
Next
For i=1 to max
%><%
Next
rs.close
conn.close
Per poi mostrare l'indice delle pagine eventualmente presente così:
If conta>ncomm Then%>
Pagine di commento: <%
For st=0 to Int(conta/ncomm)%>
&p=<%= st*ncomm %>"><%= st %> | <%
Next

Grazie mille per l'aiuto che stte/potreste darmi,
Riky