Ciao a tutti; sto cercando di far funzionare la paginazione dei dati restituiti da una query, ma non ci riesco.

Questo è il codice asp:
codice:
' Creo le istanze opportune degli oggetti necessari
SET objRS1 = Server.CreateObject("ADODB.RecordSet")
SET objRS2 = Server.CreateObject("ADODB.RecordSet")
 
strSQL = "SELECT DISTINCT nome_utente, operazione FROM tabella;"
objRS1.Open strSQL, cn, 1, 3
 
' Ciclo il resultset per interrogare la subquery (la seconda select)

pgCorr = Request.QueryString("pgVis")
IF pgCorr = "" THEN   
  pgCorr = 1
END IF
 
' numero di record per pagina
objRS2.PageSize = 50
 
Do While Not objRS1.EOF AND numRiga < objRS2.PageSize
 
	strSQL = "SELECT TOP 1 * FROM tabella WHERE nome_utente = '" &_
	objRS1("nome_utente") & "' and operazione = '" & objRS1("operazione") & "' ORDER BY ID DESC;"
	objRS2.Open strSQL, cn, 1, 3
	
	objRS2.AbsolutePage = pgCorr
	
' codice di utilizzo dei dati estratti
	
response.write objRS2("nome_utente") & "
"
response.write objRS2("operazione") & "

"
 
    numRiga = numRiga + 1
    objRS1.MoveNext
	
LOOP
 
' Creo la barra di navigazione nelle pagine del resultset
Response.Write "<P align='center'>Vai a pagina"
 
' Creo un Ciclo per visualizzare i link alle pagine in coda
FOR i = 1 TO objRS2.PageCount
 
' Verifico che il link non faccia riferimento alla pagina corrente
IF i <> CInt(pgCorr) THEN
      Response.Write "" & i & "|"
   ELSE
      Response.Write i & "|"
   END IF
NEXT

objRS2.Close
objRS1.Close
  
SET objRS2 = Nothing
SET objRS1 = Nothing
							
cn.Close
Set cn = Nothing
L'errore restituito è:
ADODB.Recordset error '800a0e79'

Operation is not allowed when the object is open.

/estrazione.asp, line 54
Dove line 54 è la seguente
codice:
objRS2.Open strSQL, cn, 1, 3
Dove sbaglio ?
Grazie