mschart连接指定位置ACCESS数据显示折线图,帮顶也有分解决方法
mschart连接指定位置ACCESS数据显示折线图,帮顶也有分
本人是VB的初学者,想弄个图表于在网上找到了以下代码,感觉很详细,但跟我的需要还有一定的差别,我的程序里用DTPicker输了时间,时间格式为2007-7-21,ACCESS数据中,一天可能有很多数据,也可能边连续好几天没有数据,我想图表统计出一年中12月份中数据。麻烦高手给帮个忙
日期 单位 人员
2003-11-3 T 张儒林
2003-11-3 T 张儒林
2003-8-18 Q 赵吉发
2003-2-18 Q 王树昆
2003-8-18 Q 赵吉发
2003-8-21 Q 孙绪清
2003-8-21 Q 陈宝超
Private Sub btnTuBiao_Click()
' 定义变量
Dim i As Integer
Dim rs As Recordset
Dim ws As Workspace
Dim db As Database
Dim strDBName As String ' 数据库文件相对路径
' 设置数据库文件的相对路径
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 日期,单位,人员 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 = "日期单位人员图表 " ' 设置图表标题
.ColumnCount = 2 ' 设置数据网格的列数 为 2 如 单位 和 人员
.RowCount = rs.RecordCount ' 设置数据网格的行数 既是上面查询所得的记录数
For i = 1 To rs.RecordCount
.Row = i
.RowLabel = rs( "日期 ")
.Column = 1 ' 设置数据网格的第一个活动列
.ColumnLabel = "单位 " ' 设置该活动列的标签
.Data = rs( "单位 ") ' .Data = rs.Fields( "单位 ")
.Column = 2 ' 设置数据网格的第二个活动列
.ColumnLabel = "人员 " '设置该活动列的标签
.Data = rs( "人员 ")
rs.MoveNext
Next i
'// 设置是否自动缩放
'.Plot.Axis(V单位AxisIdY).ValueScale.Auto = False
'// 设置最大值
.Plot.Axis(V单位AxisIdY).ValueScale.Maximum = 50
本人是VB的初学者,想弄个图表于在网上找到了以下代码,感觉很详细,但跟我的需要还有一定的差别,我的程序里用DTPicker输了时间,时间格式为2007-7-21,ACCESS数据中,一天可能有很多数据,也可能边连续好几天没有数据,我想图表统计出一年中12月份中数据。麻烦高手给帮个忙
日期 单位 人员
2003-11-3 T 张儒林
2003-11-3 T 张儒林
2003-8-18 Q 赵吉发
2003-2-18 Q 王树昆
2003-8-18 Q 赵吉发
2003-8-21 Q 孙绪清
2003-8-21 Q 陈宝超
Private Sub btnTuBiao_Click()
' 定义变量
Dim i As Integer
Dim rs As Recordset
Dim ws As Workspace
Dim db As Database
Dim strDBName As String ' 数据库文件相对路径
' 设置数据库文件的相对路径
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 日期,单位,人员 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 = "日期单位人员图表 " ' 设置图表标题
.ColumnCount = 2 ' 设置数据网格的列数 为 2 如 单位 和 人员
.RowCount = rs.RecordCount ' 设置数据网格的行数 既是上面查询所得的记录数
For i = 1 To rs.RecordCount
.Row = i
.RowLabel = rs( "日期 ")
.Column = 1 ' 设置数据网格的第一个活动列
.ColumnLabel = "单位 " ' 设置该活动列的标签
.Data = rs( "单位 ") ' .Data = rs.Fields( "单位 ")
.Column = 2 ' 设置数据网格的第二个活动列
.ColumnLabel = "人员 " '设置该活动列的标签
.Data = rs( "人员 ")
rs.MoveNext
Next i
'// 设置是否自动缩放
'.Plot.Axis(V单位AxisIdY).ValueScale.Auto = False
'// 设置最大值
.Plot.Axis(V单位AxisIdY).ValueScale.Maximum = 50