- 相關推薦
Visual Basic6.0下數據庫報表制作技巧
在運用VisualBasic編制MIS系統前臺程序時,往往會需要處理大量的報表。而這些報表的制作,在VisualBasic6.0出現之前,要么需要使用Print語句編寫大量程序代碼,要么選擇諸如Seagate等第三方公司所提供的諸如DataReport等軟件,而一旦真正使用這些沒有本地化的軟件或控件,程序員往往會遇到各種各樣令人頭疼不已的問題棗或者是中文字體顯示有所限制,或者是報表數據無法動態及時更新,或者所提供的數據處理或統計功能并不怎么適用。所幸的是,MicroSoft推出的VisualBasic6.0專業版和企業版中包含一個全新的組件棗DataReportDesigner(DRD),運用這個報表設計器,我們可以將報表與數據環境對象或者是ActiveX數據對象直接關聯,使得VisualBasic6.0下的報表設計效率得到空前提高。下面,就本人在運用DRD進行報表程序設計所獲得的心得與大家共同探討一下。一將DRD與DED(DataEnviromentDesigner)結合。
這是運用DRD解決VisualBasic6.0報表處理最常用的一種方法,在Samples中有一個名為Prjnwind工程就是專門介紹如何使用結合使用DRD和DED的例子程序。我們可以通過選擇新工程中的DataProject類型就可以自動增加一個空的DED和DRD實例到Projectexplorer中,打開一個空DataReport實例將禁止工具欄中的General窗體并在工具欄底添加一個DataReort按鈕。如下圖:
可以看到,DataReport的專用控件棗RptLabel、RptTextBox、RptImage、RptLine、RptShape和RptFunction。除了RptFunction,每個Rpt控件都可以在固有VisualBasic工具面板中找到對應的控件。當然,控件所代表的功能并不完全一樣,例如RptTextBox在報表運行實例中完全沒有輸入焦點,實際上,它實現的是對報表(DataReport)的細節區(Detail)報表數據內容的具體顯示。我們可以通過DED和DRD創建一個報表,具體操作如下:
打開一個新的數據工程項目。
在DataEnviroment1中設定其Connection1屬性,連接到某個數據源。
在DataEnviroment1中添加一個新命令棗Command1,設定好其屬性。
選擇DataReport1,在頁標頭區加入一個Rptlabel控件,輸入報表標題。
5.選擇DataReport1,在細節區加入一個RptTextBox控件,并將DataReport1的DataSource屬性設為DataEnvironment1,DataReport1的Command屬性設定為Command1,RptTextBox的Command屬性設定為Command1,DataField屬性設定為Author。
增加一個Command控件,在Click事件中加入如下代碼:
PrivateSubCommand1_Click()
Dimrpt1AsNewDataReport1
rpt1.Show1
EndSub
運行該程序,點擊Command按鈕將顯示報表。
實際應用中,我們可以將DataEnviroment與分層Recordset綁定,從而實現更加復雜和具有統計功能的數據報表,分層Recordset在許多VisualBasic參考書中有述,大家可以自行查閱。
二將DRD直接與ADO綁定。
這種方法是實現報表數據及時動態顯示一種最為有效的方法。很多的時候,我們要求不退出應用程序而要求報表能顯示數據的變動。這時,采用上述的方法或其它第三方軟件都是無法做到的。這時,用print語句編寫大量代碼是一種令大多數VB程序員煩惱的事情,但是,我們可以通過將DRD綁定到某個ADO數據對象來得以實現。
建立一個新的標準工程。
添加一個DataReport實例。
添加一個ADO數據控件并實例化。
設定ADO數據控件的屬性,將其連接到某個數據庫。
添加一個DataGrid控件并實例化,綁定到所選擇數據庫的某個表或SQL查詢結果。(這一步非常關鍵,因為如果不將ADO數據源綁定到該DataGrid的話,數據的更新很難馬上響應。)
增加一個按鈕并在Click事件中加入如下代碼:
PrivateSubCommand1_Click()
Dimrpt1AsNewDataReport1
Setrpt1.DataSource=Adodc1
rpt1.Show1
EndSub
在DataReport1的細節區增加兩個RptTextBox,并分別將其DataField屬性設定為Author與Au_ID。
運行程序,當改變DataGrid1控件中的Author值時,點擊Command1按鈕所顯示的報表中的Author字段的值也會相應改變。
實際上,在這里我們是將需要顯示的報表內容強行與某個Datagrid控件綁定,從而實現數據的及時更新。
由上面的操作可以看到,使用VisualBasic6.0所含的DRD組件,使得報表的制作處理變得輕松自如,當然,目前DRD中仍然有不盡人意的地方棗屬性和事件太少,控制不夠靈活,甚至還存在有一些Bugs,但是,我們相信,隨著DRD的不斷成熟,它的使用將更為方便,功能也將更加強大。
(附言:請作者將姓名、單位、通信地址及有關信息告知編輯部)
【Visual Basic6.0下數據庫報表制作技巧】相關文章:
《Visual FoxPro6.0數據庫教程》課程改革及評價方案05-23
制作個人簡歷的技巧02-14
求職簡歷制作技巧注意事項10-13
個人簡歷制作的20個技巧12-12
數據庫的學習心得04-04
軍訓匯報表演領導講話11-30
統計報表工作總結02-16
計算機數據庫論文07-26
報表統計個人工作總結05-19
數據庫設計心得體會12-11