VB6.0中透過MSChart控制元件呼叫資料庫 (轉)

worldblog發表於2007-12-09
VB6.0中透過MSChart控制元件呼叫資料庫 (轉)[@more@]

《 .0中透過MSChart 》   VB6.0中的MSChart控制元件是一個功能強大的高階圖表工具,擁有豐富的圖表繪製功能,可顯示二維和三維的棒圖、區域圖、線形圖、餅圖等多種常用圖表。近日我為了在雙擊圖表的某個區域時將與該區域相對應的資料庫的內容在DataGrid控制元件上顯示出來,遇到了許多困難,最後用一個自定義的變數Series解決了問題,具體方法如下:  設資料庫名稱為“學生資訊”,有一Access表“學生成績”,其內容為一個班學生的考試成績,包括學號、姓名、成績3個欄位,成績欄位格式是字元型,值為“優”、“良”、“中”、“差”中的一個。  窗體Form1包括一個MSChart控制元件Mcre,型別為二維餅圖,用於顯示每種成績的學生數;一個ADO控制元件AdScore用於連線資料庫;一個DataGrid控制元件DgScore用於以表格形式顯示資料庫內容。  工作過程為:雙擊餅圖的某個區域,則DgScore顯示相應成績的學生名單。  程式碼如下:  Option Explicit   Dim SelectedSeries as Integer ′自定義變數  Dim Rs() as String ′提取記錄集用的字串陣列  Private Sub Form_Load()   ′設定DataGrid控制元件的資料來源  DgScore.Data=″AdScore″   ′設定ADO控制元件的連線字串和初始的記錄源,即顯示內容  AdScore.ConnectString=″Provr=.OLE.3.51;Persist_Security Info=False;Data Source=學生資訊″   AdScore.RecordSource=″selet * from學生成績order by成績″   AdScore.Refresh   ′預設好提取記錄用的語句  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 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-990049/,如需轉載,請註明出處,否則將追究法律責任。

相關文章