Access - pivot table, como hacerlo?

 
Vista:

pivot table, como hacerlo?

Publicado por gaby alcala (138 intervenciones) el 02/02/2005 20:04:54
alguien sabe como puedo hacer que desde codigo en access se me actualice una tabla pivote (dinamica) de excel, es decir que me abra el archivo que me ejecute una macro determinada en excel y luego que se vuelva a cerrar.....

es que se me hace algo monotono que cada vez que quiero actualizar los datos de mi form que tiene una tabla dinamica tenga que abrir excel bla bla bla bla bla bla bla bla bla bla bla

alguna idea???

desde MEXICO
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
Imágen de perfil de Alejandro

Actualizar tabla dinámica de Excel desde código VBA

Publicado por Alejandro (4142 intervenciones) el 24/05/2023 18:51:22
Puedes lograr la actualización de una tabla dinámica de Excel desde Access utilizando código VBA. A continuación, te proporciono un ejemplo de cómo hacerlo:

1. Asegúrate de tener una referencia a la biblioteca de objetos de Excel en tu proyecto de Access. Para ello, ve a la ventana de edición de código de Access, selecciona "Herramientas" en la barra de menú y luego "Referencias". Busca "Microsoft Excel XX.X Object Library" en la lista y marca la casilla para seleccionarla. Haz clic en "Aceptar" para aplicar los cambios.

2. Utiliza el siguiente código en el evento o función donde deseas actualizar la tabla dinámica:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Sub ActualizarTablaDinamica()
    Dim xlApp As Object
    Dim xlWorkbook As Object
 
    ' Ruta y nombre del archivo de Excel con la tabla dinámica
    Dim filePath As String
    filePath = "C:\Ruta\Archivo.xlsx"
 
    ' Nombre de la hoja de Excel con la tabla dinámica
    Dim sheetName As String
    sheetName = "Hoja1"
 
    ' Nombre de la tabla dinámica en la hoja
    Dim pivotTableName As String
    pivotTableName = "TablaDinamica1"
 
    ' Crear una instancia de Excel
    Set xlApp = CreateObject("Excel.Application")
 
    ' Abrir el archivo de Excel
    Set xlWorkbook = xlApp.Workbooks.Open(filePath)
 
    ' Activar la hoja con la tabla dinámica
    xlWorkbook.Sheets(sheetName).Activate
 
    ' Actualizar la tabla dinámica
    xlWorkbook.Sheets(sheetName).PivotTables(pivotTableName).PivotCache.Refresh
 
    ' Cerrar el archivo de Excel sin guardar cambios
    xlWorkbook.Close False
 
    ' Liberar la memoria
    Set xlWorkbook = Nothing
    Set xlApp = Nothing
End Sub

Asegúrate de reemplazar "C:\Ruta\Archivo.xlsx" con la ruta y el nombre de tu archivo de Excel, "Hoja1" con el nombre de la hoja que contiene la tabla dinámica y "TablaDinamica1" con el nombre de tu tabla dinámica.

Al ejecutar esta macro desde Access, se abrirá el archivo de Excel, actualizará la tabla dinámica y luego se cerrará sin guardar cambios. Puedes llamar a esta macro desde el evento o función que desees en Access para automatizar el proceso de actualización de la tabla dinámica.

Espero que esta solución te sea útil. ¡Buena suerte con tu proyecto!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar