通過VBA代碼動態設置Access報表Graph控件的數據源

2002-04-04 19:11:00
tmtony-Office交流網
原創
2176

問題:

如何通過程序動態設置報表中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方式, 我覺得上面的方式會更好。
    其它我還找不到好的方法

分享
北京十一选五基本走势