ms access - tiempo - Cómo pintar Microsoft Chart en forma de acceso
graph on c# (3)
MPelletier, el problema no es el repintado del gráfico. Probablemente, el subformulario que está utilizando es recuperar datos de una consulta o tabla, ¿no?
Por lo tanto, debe actualizar los valores en el objeto "origen de datos", que proporciona los datos del subformulario (cualquiera que sea una consulta o una tabla). Luego, vuelva a consultar el objeto gráfico en mainform.
He hecho un ejemplo muy simple en mi MS-Acess 2000 y funcionó de maravilla:
Una tabla (t01_fruits) con tres columnas (frt_id, frt_name, frt_qty); Un subformulario basado en la tabla t01; Una forma principal con el subformulario anterior en el interior, un gráfico circular basado en la tabla t01_fruits y un botón. En el evento OnClick del botón, puse solo me.graph1.requery
Cuando actualizo la cantidad de frutas en subformulario, dentro de mainform, no ocurre nada con el gráfico. Cuando hago clic en el botón, el gráfico se actualiza correctamente.
Espero haber ayudado.
Tengo un subformulario que establece RowSource de un objeto Microsoft Chart 5.0 en su forma principal .
EDITAR: El tipo de origen de fila para el gráfico es Lista de valores.
Sin embargo, el gráfico no se pinta a sí mismo, pero cualquier acción que generalmente generaría un repintado (arrastrar otra ventana de acceso sobre él, minimizarlo, perder y recuperar el enfoque a veces) sí lo vuelve a pintar. En otras palabras, el gráfico no se muestra o cambia automáticamente.
¿Cómo obligo a volver a pintar el gráfico después de una acción de subformulario?
Estos no han tenido ningún efecto:
parent.Referesh
parent.Repaint
parent.TheChart.Refresh
Y esto no parece existir, lamentablemente:
parent.TheChart.Repaint
Usando: Access 2003
También enfrenté el mismo problema al actualizar el gráfico después de actualizar la información en el formulario. Lo resolví revisando el gráfico después de la actualización de la bandeja de entrada vinculando al cambio de datos.
Private Sub txtFinAgreeEnacDt_BeforeUpdate(Cancel As Integer)
Me.graphCRMStatus.Requery
end sub
Private Sub txtFinAgreeEnacDt_AfterUpdate()
Me.Requery
End Sub
Yo es la forma que sostiene el gráfico ...
Tuve un problema similar como este, tener la página principal con subformularios, incluidos 2 con gráficos, y la solución para actualizar fue así:
me.subForm.Requery
me.subForm!Graph1.Requery
Solo cuando ejecuta comandos en este orden, actualizaría el gráfico correctamente.
Sé que ha pasado un tiempo desde que se hizo la pregunta, pero en caso de que alguien más tenga un problema como este.