1. 程式人生 > >機房系統(七)——【報表】

機房系統(七)——【報表】


    在機房收費系統的專案裡,管理員級別有兩個功能是日結賬單和周結賬單,在這裡首次接觸到了報表。那麼,什麼是報表呢?怎麼做報表呢?怎麼使用報表呢?接下來一一介紹。
What?

    報表就是員工向上級報告情況的表格。簡單的說:報表就是用表格、圖表等格式來動態顯示資料,可以用公式表示為:"報表 = 多樣的格式 + 動態的資料"。
    在這個程式中,大概使用了三類顯示資料的方式。其一,Label、Text、MSFlexGrid1控制元件,這是VB提供的最基本的顯示資料的方式,使用方便,但是顯示資料量少,沒有具體的資料顯示格式,編輯複雜,功能比較少。其二,Excel表,在查詢資訊後,將資料匯出來是很方便的,清晰明瞭,並可對查詢匯出的資料進行進一步的操作,進行資料分析、處理等,功能強大;但資料編輯不方便。其三,Report++grid 報表,這種方式資料呈現形式清晰明瞭,可根據自己需要制定符合自己需求的報表,個性化很強,但操作複雜。

How to do
    首先我們需要下載一個報表設計器,下載安裝製作工具grid++report 。下載地址:

http://www.onlinedown.net/soft/44547.html



步驟:
一:首先需要插入:報表頭、報表尾、明細網格、報表頁首、報表頁尾。(選單欄或右擊即可)



二:連結資料庫:1、點選sql按鈕
在這裡插入圖片描述



2、連線資料庫
在這裡插入圖片描述



3、資料鏈接屬性,根據自己情況填寫即可。

4、設定資料庫連線串與查詢SQL:資料庫連線串可以自己輸入,也可以在查詢SQL的時候自動獲取,獲取時可能會缺失部分資訊,還需自己填補完整。

在這裡插入圖片描述



5、測試,成功時會提醒成功,否則可能是資料庫連線串有錯誤,缺少部分資訊,還需自己仔細檢視。


三:設計報表
    在設計報表時,可參考機房系統專案裡給出的兩個報表(當我們下載好報表設計器後,會發現源程式中給出的報表圖示發生了改變)。在設計報表時,主要用到了插入下面的靜態框、綜合文字框和系統變數框。綜合文字框需要設定引數,用於和VB進行互動。在使用時,先在引數下面新增自己設定的引數,然後進行下面的操作:

在這裡插入圖片描述


    經過不斷的觀察、嘗試、調整、摸索後,報表就可以順利的做好啦。
How to use
    上一篇博文說明了VB與Excel的互動,接下來說說報表和VB的互動。在我們做報表的過程中,設定的引數,實際上就是將報表和VB連線起來的橋樑。實現過程如下(eg 周結賬單):
  rem 載入窗體時
  Dim Report As grproLibCtl.GridppReport
  txtsql = "select * from CheckDay_Info  "
  Set mrc = ExecuteSQL(txtsql, MsgText)
  Set Report = New grproLibCtl.GridppReport  ' 例項化報表
  
        Report.LoadFromFile (App.Path & "\weekCheck.grf")    '載入模版
        Report.DetailGrid.Recordset.ConnectionString = ConnectString() '連線資料來源
        Report.DetailGrid.Recordset.QuerySQL = txtsql  '通過查詢建立記錄集
        
        Report.ParameterByName("XX").Value = Trim(frmLogin.txtUserName.Text)   '向gridreport內傳引數
        GRDisplayViewer1.Report = Report  '檢視報表
        GRDisplayViewer1.Start    '顯示報表
        Report.ParameterByName("BeginDate").Value = Format(CDate(BeginDate.Value), "yyyy-mm-dd")
        Report.ParameterByName("EndDate").Value = Format(CDate(EndDate.Value), "yyyy-mm-dd")
        txtCash.Text = Trim(mrc.Fields(0))