cuando tu realizas una conexion a una base de datos, los pasos serian
Cita: creas el objeto en el servidor
set conexion = server.createobjet("adodb.connection")
despues le asiganas la direccion a la base, abriendo el objeto de esta forma
conexion.OPEN "datos de conexion"
en este sentido, ya puedes crear tus recordset, que usarian esta conexion activa para consultar, agregar... etc
set rs=conexion.execute(sql) <--- como ejemplo
despleigas la info
cierras el recordset al final de la consulta
RS.CLOSE
tambien la conexion se cierra
conexion.CLOSE
eso seria basicamente la secuencia de uso de tus codigos para mostrar y deplegar los resultados... pero...
si antes de crear un recordet.. no asignas la llamada de apertura de la conexion, te marca el error de objeto cerrado como te muestra tu codigo...
Cita: Function ConsultarSQL(sqlStr)
Set rs = Server.CreateObject("ADODB.recordset")
on Error resume next
rs.Open sqlStr, gsCnn <---- Esta parte
CheckForErrors Rs.ActiveConnection,sqlStr
on Error goto 0
set ConsultarSQL = Rs
End Function
haces mencion a un recordset, pero no tienes una conexion para que surta efecto... por tanto... error
en otras palabras....
quieres prender un carro, sin pila <--- en sentido figurado

creo que hasta yo me confundire si leo mi propio enunciado