VB中用MSChart控件生成图表_用相对路径调用数据库文件

在VB中通过MSChart控件生成图表,采用Access数据库,使用相对路径调用数据库文件,源程序代码如下:
------------------------

Private Sub btnCopy_Click()

' 将数据和图表的图片复制到剪贴板.在Excel中粘贴的话是将把图表数据集复制到工作表中。
' 如要将图表图片插入到工作表中,可在选定“选择性粘贴”后选择“位图”类型。
mscPinDian.EditCopy

End Sub

Private Sub btnTuBiao_Click()
' 定义变量
Dim i As Integer
Dim rs As Recordset
Dim ws As Workspace
Dim db As Database
Dim strDBName As String  ' 数据库文件相对路径
http://dl2.csdn.net/down4/20070713/13100414411.rar
' 设置数据库文件的相对路径
strDBName = App.Path
If Right$(strDBName, 1) <> "/" Then strDBName = strDBName & "/"
strDBName = strDBName & "db/dbPinDian.mdb"

' 打开数据库.
Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase(strDBName)
''Set db = OpenDatabase(strDBName)
Set rs = db.OpenRecordset("select 频点,TCH,BCCH from tbl_PinDian order by 频点", dbOpenSnapshot)
''rs.MoveLast
''rs.MoveFirst
If rs.RecordCount = 0 Then
MsgBox "数据库表中没有数据,请在数据库中输入数据!", vbCritical, "提示"
Exit Sub
End If

mscPinDian.Visible = True ' 设置图表不可见

With mscPinDian
    .TitleText = "频点TCHBCCH图表" ' 设置图表标题
    .ColumnCount = 2 ' 设置数据网格的列数 为 2 如 TCH 和 BCCH
    .RowCount = rs.RecordCount ' 设置数据网格的行数 既是上面查询所得的记录数
    For i = 1 To rs.RecordCount
        .Row = i
        .RowLabel = rs("频点")
        .Column = 1 ' 设置数据网格的第一个活动列
        .ColumnLabel = "TCH" ' 设置该活动列的标签
        .Data = rs("TCH") ' .Data = rs.Fields("TCH")
        .Column = 2 ' 设置数据网格的第二个活动列
        .ColumnLabel = "BCCH" '设置该活动列的标签
        .Data = rs("BCCH")
        rs.MoveNext
    Next i
   
    '// 设置是否自动缩放
    '.Plot.Axis(VtChAxisIdY).ValueScale.Auto = False
    '// 设置最大值
    .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 50
    '// 设置最小值
    .Plot.Axis(VtChAxisIdY).ValueScale.Minimum = 0
    '// 设置主要间隔
    .Plot.Axis(VtChAxisIdY).ValueScale.MajorDivision = 5
    '// 设置次要间隔
    .Plot.Axis(VtChAxisIdY).ValueScale.MinorDivision = 1
   
    '// 标记每个点的值
    For i = 1 To .Plot.SeriesCollection.Count
    .Plot.SeriesCollection(i).DataPoints(-1).DataPointLabel.LocationType = VtChLabelLocationTypeAbovePoint
    Next
   
End With
rs.Close

End Sub

Private Sub Form_Load()

' 设置图表不可见
mscPinDian.Visible = False

End Sub

Private Sub MSChart1_OLEStartDrag(Data As MSChart20Lib.DataObject, AllowedEffects As Long)

End Sub

 VB中用MSChart控件生成图表 源文件:
http://dl2.csdn.net/down4/20070713/13100414411.rar
展开阅读全文

没有更多推荐了,返回首页