通过VBA代码动态设置Access报表Graph控件的数据源

【通过VBA代码动态设置Access报表Graph控件的数据源】分享给互联网技能从业者学习和参考。

如何通过程序动态设置报表中GRAPH控件的数据源?能否写出具体的设置语句 我的GRAPH就是微软OFFICE 2000自带的。

tmtony

1. 初次尝试:

G_1.RowSource=SQL语句不行吗 g_1是graph
清空为 select fld1 as "空", fld2 as 0 from table1

caijun64 回复
不行,我就是这样做的,但不行,出错,错误信息为:“运行时错误2455,你输入的表达式对属性rowsource的引用无效。”。

注:我是在Access 2000中report的Open事件中对Graph控件的Rowsource属性赋SQL语句的。

 


2. 再次尝试:
我找到我原来的有图表的报表程序,发现我说错一件事。
图表的rowsource在程序中是无法真正动态产生的(我为此找过很长一段时间啦,微软也没给过正确答案给我)
我现在所谓的动态生成是生成它的源,即图表绑定到一个查询,你动态改变这个查询
改变查询的方法:

Dim mydb As dao.Database
Dim qdf As dao.QueryDef
Set mydb = CurrentDb
Set qdf = mydb.QueryDefs("test_v")
qdf.SQL = Form_SPCÊý¾Ý²éѯ.¿ØÖÆͼ.Form.¿ØÖÆͼ.RowSource
qdf.Close

 

这是 真正动态生成图表数据源,且用于网络环境,可针对不同用户生成不同的SQL,动态设定图表数据源。

3. 其它实现方法:
还有种方式就是先隐藏打开到设计状态,然后改变rowsource 后,再关闭打开到预览方式
这是我当时想的,但因为在MDB方式, 我觉得上面的方式会更好。
其它我还找不到好的方法

通过VBA代码动态设置Access报表Graph控件的数据源