VB6.0中通过MSChart控件调用数据库
设数据库名称为“学生信息”,有一Access表“学生成绩”,其内容为一个班学生的考试成绩,包括学号、姓名、成绩3个字段,成绩字段格式是字符型,值为“优”、“良”、“中”、“差”中的一个。
窗体Form1包括一个MSChart控件McScore,类型为二维饼图,用于显示每种成绩的学生数;一个ADO控件AdScore用于连接数据库;一个DataGrid控件DgScore用于以表格形式显示数据库内容。
工作过程为:双击饼图的某个区域,则DgScore显示相应成绩的学生名单。
代码如下:
Option Explicit
Dim SelectedSeries as Integer ′自定义变量
Dim Rs() as String ′提取记录集用的字符串数组
Private Sub Form_Load()
′设定DataGrid控件的数据源
DgScore.DataSource=″AdScore″
′设定ADO控件的连接字串和初始的记录源,即显示内容
AdScore.ConnectString=″Provider=Microsoft.OLEDB.3.51;Persist_Security
Info=False;Data Source=学生信息″
AdScore.RecordSource=″selet * from学生成绩order by成绩″
AdScore.Refresh
′预设好提取记录用的SQL语句
Rs(1)=″select* from学生成绩where成绩=″+Chr(34)+″优″+_Chr(34)+″order by成绩″
Rs(2)=″select *from学生成绩where成绩=″+Chr(34)+″良″+_Chr(34)+″order by成绩″
Rs(3)=″select * from学生成绩where成绩=″+Chr(34)+″中″+_Chr(34)+″order by成绩″
Rs(4)=″select * from学生成绩where成绩=″+Chr(34)+″差″_Chr(34)+″order by成绩″
End Sub
Private Sub McScore_SeriesSelected(Series as Integer,MouseFlags as
_Integer,Cancel as Integer)
SelectedSeries=Series
End Sub
Private Sub McScore_PointSelected(Series as Integer,DataPoint
as_Integer,MouseFlags as
Integer,Cancel as Integer)
SelectedSeries=Series
End Sub
Private Sub McScore_Db1Click()
′改变ADO控件的记录源并刷新
Adoc1.RecordSource=Rs(SeletedSeries)
Adoc1.Refresh
End Sub