VB6.0中通过MSChart控件调用数据库

转载 2007年09月28日 13:36:00
VB6.0中的MSChart控件是一个功能强大的高级图表工具,拥有丰富的图表绘制功能,可显示二维和三维的棒图、区域图、线形图、饼图等多种常用图表。近日我为了在双击图表的某个区域时将与该区域相对应的数据库的内容在DataGrid控件上显示出来,遇到了许多困难,最后用一个自定义的变量SelectSeries解决了问题,具体方法如下:
  设数据库名称为“学生信息”,有一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 
 

相关文章推荐

《 VB6.0中通过MSChart控件调用数据库 》

VB6.0中的MSChart控件是一个功能强大的高级图表工具,拥有丰富的图表绘制功能,可显示二维和三维的棒图、区域图、线形图、饼图等多种常用图表。近日我为了在双击图表的某个区域时将与该区域相对应的数据...
  • xdy233
  • xdy233
  • 2011年04月02日 10:09
  • 234

在VB6.0中设置ADO控件属性连接Microsoft ACCESS 2007数据库

在VB6.0中设置ADO控件属性连接Microsoft ACCESS 2007数据库        使用VB6.0一般支持.mdb格式的数据库,为了能够使VB6.0能连接.accdb格式的数据库,需要...
  • ttpage
  • ttpage
  • 2013年06月24日 13:55
  • 2112

VB6.0 对ACCESS的控制总结——无需控件版(建库,删库,建表,删表,增加行,删除行)

'前言: VB6.0对数据库的操作方法很多,对于初学者来说也比较乱.用控件操作数据库是很简洁的,但相对的局限性也变大了.总结了相对简介而使用的几个功能希望大家喜欢. '引用"Microsof...

VB6.0 ActiveX 控件开发详解 [第四章:事件的设计与引发]

第四章:事件的设计与引发     好的,本人已经很久没续写这篇文章了,应网友邀请,我现在继续。事件是一个对象的对外输出,客户通过事件得知控件对象当前的情况,于是,学习事件的设计与引发就变得很重要。  ...

关于VB6.0中控件加载的难题

这几天在做作品的过程中,我想大家都多多少少都为VB6.0中ActiveX控件的加载而感到头痛,比如有时候在打开一个工程的瞬间它给你弹出无法加载或加载错误的提示框,在你想用到某个控件时,VB6.0中又找...

vb6.0 控件适应窗口大小

我们在编写vb6.0控件适应窗口大小时,往往使用以下方法:(按照窗体尺寸缩放比例自动调整控件的大小)   窗体和控件的大小由窗体和控件的Width属性和Height属性确定。所以当用户界面设计完...
  • zfulee
  • zfulee
  • 2011年10月18日 21:14
  • 1122

VB6.0 MSHFlexGrid控件添加数据三种方法

1.绑定到数据源  程序代码 Option Explicit Dim objConn As ADODB.Connection Dim objRs As ADODB.Recordse...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VB6.0中通过MSChart控件调用数据库
举报原因:
原因补充:

(最多只允许输入30个字)