可以通过记录集解决,实例代码: 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
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