| | 首页 | 文章中心 | 下载中心 | 本站特供 | 软硬件结合论坛 | | |
![]() | |
| 您现在的位置: 中国软硬件结合技术网 >> 文章中心 >> 软件技术 >> VB、JAVA等 >> 正文 |
|
|||||
| VB6.0中通过MSChart控件调用数据库 | |||||
| 作者:ryglj 文章来源: 点击数: 更新时间:2007-6-28 | |||||
| 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 |
|||||
| 文章录入:ryglj 责任编辑:Polylove | |||||
| 【发表评论】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | | |
![]() |
Copyright ©2004 - 2006 中国软硬件结合技术网 91tech.net 91tech.cn 91tech.com 站长:Polylove |