我的程序里面需要用到图表,但是我以前没有用过这个控件,那位老大帮帮忙,给我一点资料,谢谢。

解决方案 »

  1.   

    Private Sub getdatebin()
      Dim totalnumok As Double '总人数
      Dim singlenumok As Double '每个饼块的人数
      Dim ratestr As String '百分比
      Dim Rate As Double '占比
      Dim arrChart(10) '饼的块
      Dim ChartNum As String
      Dim k(10) '每个饼块的图例
      Dim l As Integer
      Dim x As Integer
      Dim DeptNo As String
      MSChart1.Title = CmbChoice.Text 
      FileName = MSChart1.Title
      Sql = "select count(*) ,substring(caddress," & DataType & ",1) from v_tj1"
      Sql = CheckSql(Sql) & " csignattrib in ('正常','转走')"
      Sql = CheckSql(Sql) & "  cclassno='" & CmbDeptType.Text & "'                  "
      Sql = CheckSql(Sql) & "  croomareano='" & CmbAreaID.Text & "'  "
      Sql = Sql & " group by substring(caddress," & DataType & ",1)"
       SqlRec.Open Sql, SQLcon, adOpenStatic, adLockReadOnly
      l = SqlRec.RecordCount '取得记录总数
      If Not SqlRec.EOF Then
        SqlRec.MoveFirst
        MSChart1.Stacking = True
        For i = 1 To SqlRec.RecordCount
          arrChart(i) = SqlRec.Fields(0)
          k(i) = ChangeData(SqlRec.Fields(1), DataType)
          totalnumok = totalnumok + SqlRec.Fields(0)
          SqlRec.MoveNext
        Next
        SqlRec.Close
        Set SqlRec = Nothing
        MSChart1.Visible = True
      Else
        MsgBox "没有数据!"
        SqlRec.Close
        Set SqlRec = Nothing
        Exit Sub
      End If
      If l >= 1 Then
        MSChart1.RowCount = 1
        MSChart1.ColumnCount = l
        For j = 1 To l
          singlenumok = arrChart(j)
          If totalnumok = 0 Then
            Rate = 0
          Else
            Rate = Round(singlenumok / totalnumok * 100, 1)
          End If
          ratestr = Format(Rate, "0.0")
          ratestr = "    " & ratestr
          ratestr = Right(ratestr, 4)
          MSChart1.Column = j
          MSChart1.Data = arrChart(j)
          ChartNum = "     " & arrChart(j)
          ChartNum = Right(ChartNum, 5)
          MSChart1.ColumnLabel = k(j) & ":" & ChartNum & "  占比  " & ratestr & "%"
          Next
      End If
    End Sub
    一个完整的例子!自己研究一下