通过VBA代码动态设置Access报表Graph控件的数据源
- 2021-12-01
- 来源/作者: 菜鸟图库/ 菜鸟图库
- 1073 次浏览
如何通过程序动态设置报表中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方式, 我觉得上面的方式会更好。
其它我还找不到好的方法