VB6.0中通過MSChart控件調用數據庫
發表于:2007-07-14來源:作者:點擊數:
標簽:
作者:湖南 高文杰 VB 6.0中的MSChart控件是一個功能強大的高級圖表工具,擁有豐富的圖表繪制功能,可顯示二維和三維的棒圖、區域圖、線形圖、餅圖等多種常用圖表。近日我為了在雙擊圖表的某個區域時將與該區域相對應的 數據庫 的內容在DataGrid控件上顯示出
作者:湖南 高文杰
VB6.0中的MSChart控件是一個功能強大的高級圖表工具,擁有豐富的圖表繪制功能,可顯示二維和三維的棒圖、區域圖、線形圖、餅圖等多種常用圖表。近日我為了在雙擊圖表的某個區域時將與該區域相對應的
數據庫的內容在DataGrid控件上顯示出來,遇到了許多困難,最后用一個自定義的變量SelectSeries解決了問題,具體方法如下:
設數據庫名稱為“學生信息”,有一A
clearcase/" target="_blank" >ccess表“學生成績”,其內容為一個班學生的考試成績,包括學號、姓名、成績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
原文轉自:http://www.anti-gravitydesign.com