Sto provando ad aggiornare alcune pagine ASP dedicate alla gestione di un piccolo DB Access.
In pratica vorrei abbandonare il seguente metodo per la cancellazione dei record:

codice:
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("db.mdb")
Set Rs=Server.CreateObject("ADODB.RecordSet")
Sql="Select * from Tabella"
Rs.Open Sql, Conn, 2,2

if Rs.eof then
session("messaggio") = "Non è presente nessun record"
response.redirect "errore.asp"
else
session("messaggio") = "Record eliminato correttamente"
response.redirect "conferma.asp"

(manca il codice di chiusura della chiamata al DB)
per passare a quello eseguito direttamente dalla query:

codice:
dim conn, rs
set conn=Server.CreateObject("ADODB.Connection")
conn.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("db.mdb")
sql = "DELETE * FROM Tabella"
set rs = conn.execute(sql)

if rs.eof then
session("messaggio") = "Non sono presenti record da eliminare"
response.redirect "errore.asp"
end if

conn.close()
set conn=nothing

session("messaggio") = "Record eliminato correttamente"
response.redirect "conferma.asp"

In questo modo però mi restituisce il seguente errore nella linea che richiama il controllo sulla presenza di record nella tabella (if rs.eof then):

ADODB.Recordset error '800a0e78'
Operation is not allowed when the object is closed.


Non riesco a capire :master: