我有一个子表单,它以父形式设置Microsoft Chart 5.0对象的RowSource。
编辑:图表的行源类型是值列表。
但是,图形不会自行绘制,但任何通常会产生重绘的动作(在其上拖动另一个Access窗口,最小化它,丢失并重新获得焦点)确实会重新绘制它。换句话说,图表不会自动显示或更改。
如何在子窗体操作后强制重新绘制图表?
这些没有效果:
parent.Referesh
parent.Repaint
parent.TheChart.Refresh
不幸的是,这似乎并不存在:
parent.TheChart.Repaint
使用:Access 2003
答案 0 :(得分:3)
MPelletier,问题不在于重新绘制图形。 您正在使用的子表单可能是从查询或表中检索数据,不是'?
因此,您必须更新“datasource”对象上的值,它提供子表单数据(无论是查询还是表)。然后,在mainform中重新查询图形对象。
我在MS-Acess 2000中做了一个非常简单的例子,效果很好:
包含三列的表(t01_fruits)(frt_id,frt_name,frt_qty);
基于t01表的子表单;
一个包含前一个子表单的mainform,一个基于表t01_fruits的饼图和一个按钮。在按钮的OnClick事件中,我只放了me.graph1.requery
当我更新子窗体中的水果数量时,在主窗体内,图形没有任何反应。单击按钮时,图表会正确更新。
我希望我能帮到你。
答案 1 :(得分:0)
在更新表格中的信息后,我在刷新图表时也遇到了同样的问题。我通过更新链接到更改数据的收件箱后重新排队图表来解决问题。
Private Sub txtFinAgreeEnacDt_BeforeUpdate(Cancel As Integer)
Me.graphCRMStatus.Requery
end sub
Private Sub txtFinAgreeEnacDt_AfterUpdate()
Me.Requery
End Sub
我是表格持有图....
答案 2 :(得分:0)
我有类似这样的问题,主页包含子表单,包括2个图表 - 并且刷新它的解决方案是这样的:
me.subForm.Requery
me.subForm!Graph1.Requery
只有按此顺序执行命令时,才会正确更新图形。
我知道自问题被问到已经有一段时间了,但万一其他人有这样的问题。