VB5報表設計師在人事管理軟體中的應用

來源:互聯網
上載者:User

使用過VB5的人都會發出這樣的讚譽-VB5真牛!的確,Visual Basic 5.0 以其強大的功能和優異的開發環境深深吸引了眾多編程迷。徹底中文化的VB5中文版更深得專業人員及編程愛好者的喜愛。筆者在為某單位設計人事履曆管理系統時就選用了VB5中文版。可是在設計報表時遇到了難題, 用printer對象的enddoc方法來實現列印的話,輸出數十張格式各異的報表顯然是太繁瑣了。可能Miscrosoft公司也意識到了這一點,最終我發現它在 VB5企業版的增益集中為我們提供了一個外接報表設計工具。

開啟VB5菜單選擇"增益集\報表設計師",報表設計介面就呈現在我們眼前。可能是增益集的原因,這是個全英文的介面。現在程式要求你進行使用者登記,登記完了才發現,這個好東東有個好聽的名字-水晶報表,而且居然是希捷軟體資訊管理公司出品的!希捷(seagate)的硬碟大家不會陌生,沒想到它還會和微軟去合作。閑話少說,接著往下看。

手上正好有個履曆表需要列印,就看看它如何?access表資料的直接列印。首先建立一個新報表,在菜單中選擇"new"之後立刻出現了"create report expert"(建立報表專家)視窗,接著只要根據提示step by step就行了。專家會讓你選擇報表的式樣,然後請你添加資料庫檔案(如lvli.mdb)以及庫檔案中要列印的表資料(table)。哇!它還有超級串連實現多表列印呢。再按"next",專家這時讓你自由選擇表中要列印的欄位名了。記錄的排序是報表必不可少的功能,專家也為你想到了。它還能幫你添加列統計,定義組和組總計,自動產生頁碼,插入公式模板在欄位間進行複雜計算,等等。好了,一切設定完成,按下"報表預覽",一張如你所願的報表就出現在眼前。什嗎?你不滿意?沒關係。按下"設計"項,就象在文書處理軟體中一樣,所見即所得 (WYSIWYG)的頁面出現了。每個欄位名和文本就象VB中的對象一樣可以任意移動和改變字型類型及大小。

爽吧!不過還沒和VB程式結合呢。水晶報表已經為你準備了它的最佳拍檔-crystal ActiveX 控制項。在VB5菜單中選擇"工程\組件\crystal report control 4.6",這時crystal ActiveX 控制項就加入了VB5控制項欄。把crystal ActiveX 控制項放入表單,把剛才產生的報表檔案名稱寫入控制項的reportfilename屬性,就完成了和VB5程式的結合。怎樣在程式中啟動報表列印?很簡單,在某個對象如"按鈕"的滑鼠點擊事件程序中加入一行代碼就行。即:

private sub Command1_click()
crystalreport1.action=1
End Sub

當程式運行時,滑鼠點擊表單上按鈕,報表立即出現在電腦螢幕上供你預覽,按下報表下方的印表機表徵圖,會出現列印對話方塊,可以指定列印頁的範圍和列印張數。點擊"ok"按鈕,清晰完整的履曆報表就出現在眼前。

確實,水晶報表設計師以其完善的功能和良好的使用介面彌補了VB5在報表列印方面的不足。隨著深入的使用,筆者更驚喜地發現使用crystal ActiveX 控制項能和data資料庫控制項相結合動態產生報表!並且可以在動態報表產生前定義報表的格式!眾所周知,data控制項的資料來源屬性可以接受表、表查詢甚至SQL語言的select查詢語句。如果data控制項可以和crystal控制項綁定,那麼在管理軟體中每一次帶變數的多重查詢結果都可以立即列印出來。這給編程帶來了極大的方便。這兒,我把自己摸索出的有格式動態報表的建立方法奉獻給大家。步驟如下:

1、添加data控制項,crystal ActiveX控制項和command button按鈕在表單上。

2、設定data控制項的資料庫名屬性和資料來源屬性。

3、對於crystal ActiveX控制項:

(1)設定報表源屬性為"3-crptDatacontrol"。

(2)開啟控制項的屬性頁面,選擇"資料繫結報表"項。

(3)選擇"報表另存新檔",為即將產生的報表起檔案名稱並儲存。

4、在VB5菜單中選擇"增益集\報表設計師",運行水晶報表設計師,開啟步驟3中儲存的報表檔案,按自己的要求進行格式的編輯,如字型、顏色、框線等等。完成後再次儲存。

5、再進入VB5,設定crystal ActiveX控制項的報表源屬性(reportsource)為"0-crptReport",報表檔案名稱屬性(reportfilename)設定為步驟4中已儲存的報表名。

6、在command button按鈕的click事件程序中寫入"crystalreport1.action=1"命令列。

現在,動態報表建立完成,試著運行一下吧,效果怎麼樣?

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.