Hola a todos, me gustaría que alguien me explicara pq esta macro no me
funciona con office 2007:
Sub AcutalizaDiario()
'
Dim wks As DAO.Workspace, db As DAO.Database, qry As DAO.QueryDef, td As
DAO.TableDef, fld As DAO.Field
Dim ListaAsientos As String, lista_asientos As String
Set wks = DAO.Workspaces(0)
Set db = wks.OpenDatabase(ThisWorkbook.Path & "\BASEDATOS.accdb")
Set td = db.CreateTableDef(ListaAsientos)
db.Execute "delete * from (999_AsientosConsultados)"
Set qry = db.QueryDefs("999_CreacionAsientosConsultados")
qry.Execute
Set qry = Nothing
db.Close
Set db = Nothing
wks.Close
Set wks = Nothing
Range("B5").Select
ActiveSheet.PivotTables("Tabla dinámica2").PivotCache.Refresh
End Sub
con office 2003 funcionaba perfectamente.
La instrucción que falla es "Set db = wks.OpenDatabase(ThisWorkbook.Path &
"\BASEDATOS.accdb")", generando el error 3343 en tiempo de ejecución: no se
reconoce el formato de la base de datos.
Las referencias que tengo activadas son las siguientes:
Visual Basic for Applications
Microsfot Excel 12.0 Object Library
OLE Automation
Microsfot Office 12.0 Object Library
Microsfot DAO 3.6 Object Library
En resumen esta macro realiza los siguiente: va una BD, ejecuta una consulta
y genera una tabla que es leida desde excel mediante una tabla dinámica.
Gracias por las molestias tomadas.
Saludos
Leer las respuestas