¿Cómo crear una tabla dinámica en MS-Access 2016?
¿Cómo crear una tabla dinámica en MS-Access 2016?
¿Se puede crear una tabla dinámica en un formulario de Access con un marco de objeto independiente?
Tengo una BBDD ejecutable (miBBDD. Accde). En el formulario de inicio, cada vez que se selecciona un cliente de una lista desplegable, se accede a sus datos y se guardan estos datos en una tabla de la BBDD ejecutable (_tmp1).
En un archivo de excel (miTD.xlsm), he creado una tabla dinámica cuyo origen es la tabla "_tmp1" de la BBDD ejecutable (miBBDD. Accde), con las siguientes opciones de actualización:
* Al lado de la tabla dinámica, he creado un botón "actualizar" que ejecuta una macro que ejecuta el comando "Datos>Conexiones>Actualizalo todo (Ctrl + Alt + F5)".
* He configurado el botón "Propiedades" de "Datos>Conexiones" con las siguientes opciones:
. Activa la actualización de fondo (Sí)
. Actualizalo cada 1 minuto
. Actualiza los datos al abrir el archivo (Sí)
Es decir, cada vez que abro este archivo de excel (miTD.xlsm), automáticamente se actualiza la tabla dinámica con los valores de la tabla (_tmp1) de la BBDD ejectuable (miBBDD. Accde).
He creado un "marco de objeto independiente" (OLEind1) en un formulario de la BBDD ejecutable (miBBDD. Accde) cuyo origen es la tabla dinámica del archivo de excel (miTD.xlsm) con las siguientes propiedades:
* Tipo OLE: Incrustado
* Tipo OLE permitido: Ambos
* Clase OLE: Microsoft Excel Macro-Enabled 12
* Clase: Excel. SheetMacroEnabled. 12
* Opciones de actualización: Automática
* Tipo de presentación: Contenido
* Habilitado: Sí
* Bloqueado: No
...
* Activación automática: RecibirEnfoque
Es decir, cada vez que accedo al formulario de mi BBDD ejecutable (miBBDD. Accde) donde está este marco de objeto independiente (OLEind1) y recibe el enfoque, que se actualize automáticamente con los datos de la tabla dinámica del archivo de excel (miTD.xlsm).
El problema es que cuando selecciono un cliente en el formulario de inicio y voy al formulario donde está el marco de objeto independiente (OLEind1), no se actualiza con los valores del cliente seleccionado, todo y que en el VBA de este formulario pongo el enfoque en "OLEind1":
Private Sub Form_Load()
...
OLEind1.SetFocus 'pongo el enfoque en el marco de objeto independiente
Msgerr = MsgBox("TD actualizada correctamente", vbExclamation, "") = vbOK
OLEind1.Action = acOLEClose 'cierro la visualización en formato tabla dinámica
Texto1.SetFocus 'cambio el enfoque a un cuadro de texto
...
End Sub
No obstante esto, si salgo de la BBDD y abro el archivo de excel (miTD.xlsm), entonces la tabla dinàmica se actualiza automàticamente con los valores de la tabla (_tmp1) de la BBDD ejecutable (miBBDD. Accde).