我通过label_click事件触发一个msChart的统计显示,数据正确从数据库中读出,一切正常,但是当我再次点击label时,统计图会在现有的柱状统计显示的基础上再次添加一次数据,所以我想知道,怎么才能让mschart控件首先清空数据呢?

解决方案 »

  1.   

    定义一个过程
    Option Explicit
    Private Values() As Variant
    Private NumPoints As IntegerPrivate Sub LoadData()
    Dim db As Database
    Dim qdef As QueryDef
    Dim rs As Recordset
    Dim dbname As String
    Dim i As Integer    ' 打开数据库
        dbname = App.Path
        If Right$(dbname, 1) <> "\" Then dbname = dbname & "\"
        dbname = dbname & "data.mdb"
        Set db = OpenDatabase(dbname)    ' 获得数据库记录
        Set qdef = db.CreateQueryDef("", _
            "SELECT 产品类别, 销售额 FROM 销售额")
        Set rs = qdef.OpenRecordset(dbOpenSnapshot)
        
        ' 查看数据库中记录数
        rs.MoveLast
        NumPoints = rs.RecordCount
        ReDim Values(1 To NumPoints, 1 To 2)    ' 加载数据
        rs.MoveFirst
        For i = 1 To NumPoints
            Values(i, 1) = rs!产品类别
            Values(i, 2) = rs!销售额 / 10000
            rs.MoveNext
        Next i
        rs.Close
        db.Close
    End SubPrivate Sub label_click()
        LoadData
        '  使用MSChart控件显示数据
        MSChart1.ChartData = Values
    End Sub每次单击后重新绑定,这样数据就不会累加mschart控件首先清空数据??
    控件放置后默认的有数据