Visual Basic - Visual Basic sobre Macro Excel

Life is soft - evento anual de software empresarial
 
Vista:

Visual Basic sobre Macro Excel

Publicado por Armando PAdilla (1 intervención) el 04/06/2010 02:26:21
Buenas tardes, tengo un archivo de excel el cual contiene macros para generar reportes a partir de una conexion de base de datos en MSSQL Server 2000, y tengo estoy teniendo el siguiente problema:

Todas las transacciones de base de datos que realizan los recordet estan super lentos, una consulta que regresa 1 solo registro tarda de 3 a 5 segundos, por lo tanto un reporte que debiera ejecutarce en unos 10 segundos maximos, tarda 30-40 minutosl,a forma en que ejecuto el recordset es la siguinete

(Lento 3-5 segundos)
set RS = db.openrecordset(Select nombre from usuario where usuario = '" + lsuser + "'";")

pero si lo ejecuto de la siguiente manera, la trabnsaccion se realiza en milesimas de segundos

set RS = db.openrecordset(Select nombre from usuario where usuario = '" + lsuser + "'";", DbOpenDynaset, dbsqlpassthrough)

El problema es que no puedo poner dichos parametros debido que los reportes manejan recordsets anidados, osea recorset dentro de recordset y esto genera un error, me marca que hay un recordset abierto y no se puede ejecutar otro hasta que no se cierre el anterior.

Mas complicado aun esto solo sucede en un equipo el cual tiene instalado uns programa para conectarse a un banco, si este programa se desinstala, mi macro excel con visual basic corre a la perfección.

Estoy usando el DAO 3.6 (ya intente con 2.5/3.5 con el mismo resultado), SI a laguien le ha pasado algo parecido o bien tiene alguna idea de cual puede ser el conflicto, le agradeceria su ayuda.

Saludos y gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder