office交流网--QQ交流群号

Access培训群:792054000         Excel免费交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

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

2002-04-04 19:11:00
tmtony-Office交流网
原创
6399

问题:

如何通过程序动态设置报表中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方式, 我觉得上面的方式会更好。
    其它我还找不到好的方法

分享