Access - Activación automática diferentes objetos OLE

 
Vista:
sin imagen de perfil
Val: 64
Ha aumentado su posición en 3 puestos en Access (en relación al último mes)
Gráfica de Access

Activación automática diferentes objetos OLE

Publicado por JPG (30 intervenciones) el 06/02/2018 15:02:34
Tengo dos marcos de objeto independientes (OLEind1 y OLEind2) en un formulario con las siguientes mismas propiedades para los dos:

• 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

El OLEind1 es una tabla dinàmica y el OLEind2 es un gráfico dinámico. Cuando hago doble clic en cualquiera de los dos OLE (activación en contexto), se actualizan los valores. Para pasar de un OLE a otro

La idea es que cuando se cargue el formulario, se actualizen automàticamente los valores de los dos objetos OLE.

Con este propósito, he escrito los siguientes códigos VBA pero sin éxito:

• PRUEBA 1

Private Sub Form_Load()
...
OLEind1.SetFocus ‘pongo el enfoque en el objeto OLEind1
OLEind2.SetFocus ‘pongo el enfoque en el objeto OLEind2
...
End Sub

• Resultado PRUEBA 1

El OLEind2 se muestra en activación en contexto con los datos actualizados, però el OLEind1 no se ha actualizado.

• PRUEBA 2

Private Sub Form_Load()
...
OLEind1.Action = acOLEActivate
OLEind1.Verb = acOLEVerbOpen
OLEind1.Action = acOLEUpdate
OLEind1.Action = acOLEClose
OLEind1.Requery
OLEind2.Action = acOLEActivate
OLEind2.Verb = acOLEVerbOpen
OLEind2.Action = acOLEUpdate
OLEind2.Action = acOLEClose
OLEind2.Requery
...
End Sub

• Resultado PRUEBA 2

Se cuelga MS-Excel. El problema es que, según la ayuda de msdn.microsoft.com, la propiedad “ObjectFrame.Action (acceso)” tiene los valores de propiedad de “acción” restringidos al valor de la propiedad Enabled y Locked.

• PRUEBA 3

Private Sub Form_Load()
...
OLEind1.SetFocus
OLEind1.Action = acOLEClose
OLEind2.SetFocus
OLEind2.Action = acOLEClose
...
End Sub

• Resultado PRUEBA 3

No se actualiza ninguno de los dos OLE.


¿ A alguien se le ocurre cómo puedo actualizar automàticamente los dos objetos OLE al cargar el formulario ?
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