Set conn = New ADODB.Connection
conn.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=ff;Data Source=FENEFN"
conn.Open
Adodc1.RecordSource = "select 名称,所占数量 from xx order by 所占数量 desc"
Adodc2.RecordSource = "select sum(所占数量) as 数量 from xx "
Dim rs As Recordset
Set rs = New ADODB.Recordset
rs.Open "select * from xx", conn, adOpenStatic, adLockOptimistic
MSChart1.ColumnCount = rs.RecordCount
If rs.RecordCount > 0 Then '当记录大于零时
For i = 1 To rs.RecordCount
MSChart1.Column = i
MSChart1.Row = 1
MSChart1.ColumnLabel = rs.Fields(0).Value & "占市场:" & Format(Adodc1.Recordset.Fields(1) / Adodc2.Recordset.Fields(0).Value, "0.00%")
MSChart1.Data = rs.Fields(1).Value
rs.MoveNext
Next i
End If
MSChart1.RowCount = 1
MSChart1.RowLabel = "利用饼型图分析产品市场占有率"
程序运行到MSChart1.ColumnCount = rs.RecordCount这行出现“函数参数错误”,发现MSChart1.ColumnCount 的值为5,rs.RecordCount的值为-1,记录中的值是有5项的!为什么会出现这样的错误?
conn.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=ff;Data Source=FENEFN"
conn.Open
Adodc1.RecordSource = "select 名称,所占数量 from xx order by 所占数量 desc"
Adodc2.RecordSource = "select sum(所占数量) as 数量 from xx "
Dim rs As Recordset
Set rs = New ADODB.Recordset
rs.Open "select * from xx", conn, adOpenStatic, adLockOptimistic
MSChart1.ColumnCount = rs.RecordCount
If rs.RecordCount > 0 Then '当记录大于零时
For i = 1 To rs.RecordCount
MSChart1.Column = i
MSChart1.Row = 1
MSChart1.ColumnLabel = rs.Fields(0).Value & "占市场:" & Format(Adodc1.Recordset.Fields(1) / Adodc2.Recordset.Fields(0).Value, "0.00%")
MSChart1.Data = rs.Fields(1).Value
rs.MoveNext
Next i
End If
MSChart1.RowCount = 1
MSChart1.RowLabel = "利用饼型图分析产品市场占有率"
程序运行到MSChart1.ColumnCount = rs.RecordCount这行出现“函数参数错误”,发现MSChart1.ColumnCount 的值为5,rs.RecordCount的值为-1,记录中的值是有5项的!为什么会出现这样的错误?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货