Ti ringrazio della risposta Roby! In realtà, facendo un piccolo giro su google mi sono informato un pò su questi "Disconnected Recordset" che fanno proprio al mio caso, ovvero mantenere aperta la connessione solamente per lo stretto indispensabile. Riporto il codice della funzione:
codice:
function getRs(strSql)
'Set some constants
Const adOpenStatic = 3
Const adUseClient = 3
Const adLockBatchOptimistic = 4
Dim oConn
Dim oRs
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("mdb-database/RAP.mdb")
oConn.Open()
Set oRs = Server.CreateObject("ADODB.RecordSet")
oRs.CursorLocation = adUseClient
oRs.Open strSql, oConn, adOpenStatic, adLockBatchOptimistic
'Disconnect the Recordset
Set oRs.ActiveConnection = Nothing
oConn.Close
Set oConn = nothing
Set getRs = oRs
end function
In questo modo posso chiudere la connessione ma continuare ad usare l'oggetto Recordset con tutte le sue funzionalità messe a disposizione da ADO e che non avrei con un semplice array (come ad esempio il sorting etc).
Ciao a tutti!