Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > 源码示例

(VBA学习心得)最赞图表控件TeeChart示例

时 间:2011-12-24 12:57:33
作 者:何必见戴   ID:13894  城市:厦门
摘 要:在网上download了一个TeeChart 7图表控件,非常感兴趣,就拿来研究了一下,发现比access自带的graph功能强大很多!在此发个小小示例给大家参考下,先发代码和ocx控件,有空我会补充示例上来!
正 文:

在网上download了一个TeeChart 7图表控件,非常感兴趣,就拿来研究了一下,发现比access自带的graph功能强大很多!在此发个小小示例给大家参考下,先发代码和ocx控件,有空我会补充示例上来!

先说明几点关于使用TeeChart的注意问题:

1、TeeChart的来源最好为表,而不是一个sql查询语句,经过我的多次测试,来源为查询语句容易导致图表来源定位失败,所以要用到select into newtable的方法建立一个临时的新表,然后再让teechart控件引用此表作为新来源。

2、本示例不包括 TeeCommander和ChartGridNavigator这两个控件的详细使用方法,具体可参考网上的teechart5版帮助文件

OK,开始!
'======================================================================================================
Option Compare Database

Private Sub Form_Load()


    On Error Resume Next

    Dim Data As New ADODB.Connection
    Dim Record(100) As New ADODB.Recordset
    Dim  KeyInt as int
    Dim t As Integer
    Dim i As Integer
    Dim j As Integer
    Dim k As Integer
    Set conn = CurrentProject.Connection


'此处的KeyInt变量其实为要分析的字段数量,KeyInt其实应该为一个全局变量,具体可循环窗体控件数目来的到它的值

KeyInt=Me.字段数目
'此句使用了select into语句创建临时表图表分析_temp,把要分析的数据插入新表
    DoCmd.RunSQL "Select " & strGroupList & strSumList & "into 图表分析_temp" & " From " & Forms!usysfrmmain!frmChild.Form.RecordSource


    TeeListBox1.Width = 2900
    TeeListBox1.Height = 8111
    ChartGrid1.Width = 13000
    ChartGrid1.Height = 2500


    For t = 0 To KeyInt - 1
        TChart1.Addseries (SCBAR)
    Next

    Debug.Print KeyInt - 1
    TeeCommander1.ChartLink = TChart1.ChartLink
 
    TeeListBox1.ChartLink = TChart1.ChartLink

    ChartGrid1.ChartLink = TChart1.ChartLink

    '    ChartGridNavigator1.Grid = ChartGrid1.Grid

    Debug.Print OnlyStrSql

    For j = 0 To KeyInt - 1

        Record(j).Open "select * from 图表分析_temp", CurrentProject.Connection, 1, 1
    Next


    For k = 0 To KeyInt - 1
        TChart1.Series(k).DataSource = Record(k)
        TChart1.Series(k).YValues.ValueSource = Record(k).Fields(k + 1).Name
        '        Debug.Print Record(k).Fields(k + 1).Name
        TChart1.Series(k).LabelsSource = Record(k).Fields(0).Name
        '           Debug.Print Record(k).Fields(0).Name
        TChart1.Series(k).Title = Record(k).Fields(k + 1).Name
        '         Debug.Print Record(k).Fields(k + 1).Name
    Next

End Sub

 

================================================================================================

最后付上OCX控件   

 点击下载此附件



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助