Hola a todos, os comento el problema que tengo:
Dispongo de un excel con varias llamadas a un BBDD Access con tal de
traerme información para unas cuantas tablas dinámicas. Las llamadas
las hago de la siguiente forma:
Select Case hoja
Case "Hoja1"
'codigo para comprobar si la BBDD está en uso...
ActiveSheet.PivotTableWizard SourceType:=xlExternal,
SourceData:=Array(SQL1), Connection:=Array("ODBC;DSN=MS Access
Database;DBQ=Ruta_donde_tengo_la_BBDD
\BBDD.mdb;DefaultDir=Nombre_de_la_BBDD;DriverId%;FIL=MS
Access;MaxBufferSize@96;PageTimeout;")
Case "Hoja2"
'codigo para comprobar si la BBDD está en uso...
ActiveSheet.PivotTableWizard SourceType:=xlExternal,
SourceData:=Array(SQL2), Connection:=Array("ODBC;DSN=MS Access
Database;DBQ=Ruta_donde_tengo_la_BBDD
\BBDD.mdb;DefaultDir=Nombre_de_la_BBDD;DriverId%;FIL=MS
Access;MaxBufferSize@96;PageTimeout;")
Case "Hoja3"
'codigo para comprobar si la BBDD está en uso...
ActiveSheet.PivotTableWizard SourceType:=xlExternal,
SourceData:=Array(SQL3), Connection:=Array("ODBC;DSN=MS Access
Database;DBQ=Ruta_donde_tengo_la_BBDD
\BBDD.mdb;DefaultDir=Nombre_de_la_BBDD;DriverId%;FIL=MS
Access;MaxBufferSize@96;PageTimeout;")
El problema viene cuando, tras realizar la primera de las llamadas,
paso a la siguiente y según parece la BBDD se queda como "abierta",
entonces me lanza un error de automatización -21474417848 (80010108),
el cual según parece trata de acceder a la BBDD, pero como está
abierta... además aparece siempre en el directorio donde tengo la BBDD
un fichero con el mismo nombre que la BBDD, pero con extensión .lbd,
que cuando lo borro manualmente, me permite funcionar correctamente.
Ahora bien, lo que me gustaría que me ayudarais es a comprobar antes
de hacer la llamada a la BBDD si está abierta y en caso de que así
sea, cerrarla o eliminar este fichero .lbd, para evitarme estos
errores que me están dando un gran dolor de cabeza.
Muchas gracias por adelantado. Un saludo a todos!
Leer las respuestas