Mschart如何与adodc连接,好像连了也没用,是否只能把数据库读入一数组,在用Mschart和此数组连接?

解决方案 »

  1.   

    可以通过记录集解决,实例代码:
    Private Sub makeChart(sql As String)
        Dim Values() As Variant
        Dim I As Integer
        
        On Error GoTo nErr
        
        I = 1
        
        If sql <> "" Then
            Adodc2.ConnectionString = "DSN=FireWall;"
            Adodc2.CommandType = adCmdUnknown
            Adodc2.RecordSource = sql
            Adodc2.Refresh
                
            If Not Adodc2.Recordset.EOF Then
                ReDim Values(1 To Adodc2.Recordset.RecordCount, 1 To 2)
                
                Adodc2.Recordset.MoveFirst
                While Not Adodc2.Recordset.EOF
                    Values(I, 1) = Adodc2.Recordset("IP")
                    Values(I, 2) = Adodc2.Recordset("数量")
                    Adodc2.Recordset.MoveNext
                    I = I + 1
                Wend
                
                MSChart1.chartType = VtChChartType2dBar
                MSChart1.ShowLegend = True
                MSChart1.Row = 1
                MSChart1.RowCount = 1
                MSChart1.ColumnCount = Adodc2.Recordset.RecordCount
                MSChart1.ColumnLabelCount = Adodc2.Recordset.RecordCount
                For I = 1 To Adodc2.Recordset.RecordCount
                    MSChart1.Column = I
                    MSChart1.ColumnLabel = Values(I, 1)
                    MSChart1.Data = Values(I, 2)
                Next
                
                MSChart1.Refresh
            End If
        End If
        Exit Sub
    nErr:
         MsgBox "请输入费率信息。", vbCritical, "提示"
    End Sub推荐解决问题的网站: http://www.itcc.com.cn