機房收費係統之VB報表
簡單地說:報表就是用圖表、表格等格式來動態顯示數據,用一個公式來表示的話,就是“報表 = 多樣的格式 + 動態的數據”,報表可以說是企業管理的基本措施和途徑,是企業的基本業務要求,可以說是企業運作所必須的。
要想在VB中使用報表,首先必須得安裝一款報表的軟件,在我做收費係統的時候,我用的是Grid++Report報表軟件,然後打開VB——引用,找到圖中的兩個控件,添加之後,會顯示兩個新的部件,
打開Grid++Report報表設計器,插入——報表頭、明細網格、報表尾,要想成功的用VB報表成功,接下來,分成兩大主要部分:
1、數據庫與報表的連接
在明細網格上有三個圖標,
先點第一個,“數據庫連接串與查詢SQL”
創建數據庫連接串——數據連接屬性,選擇“Microsoft OLE DB Provider for SQL Server”——下一步
做完以上步驟之後,點第2、3個圖標,按順序,“根據數據設置自動生成字段”——“根據字段自動生成列”
到這,數據庫和報表的連接完成。
2、VB與報表的連接
通過代碼將報表加載到VB中去,首先添加顯示報表的控件,GRDisplayViewer1,接下來,就是寫代碼了!
Dim Report As New grproLibCtl.GridppReport '實例化報表
Private Sub Form_Load()
Dim strSQL As String
'當日沒有匯總記錄是不顯示報表
strSQL = "select * from checkday_info where date = '" & Format(Date, "yyyy-mm-dd") & "'"
Set Report = New grproLibCtl.GridppReport '創建報表對象
Report.LoadFromFile (App.Path & "\ChargeCheckDay.grf") '加載模板
'建立數據連接
Report.DetailGrid.Recordset.ConnectionString = "Provider=SQLOLEDB.1;Password=123456;Persist Security Info=True;User ID=sa;Initial Catalog=charge_sys;Data Source=;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=;Workstation ID=;Use Encryption for Data=False;Tag with column collation when possible=False"
Report.DetailGrid.Recordset.QuerySQL = "select top 1 * from checkday_info order by date desc" '通過SELECT查詢創建記錄集
'查看表
GRDViewer.Report = Report
GRDViewer.Start
End Sub
報表的打印和打印預覽:
Private Sub cmdPrint_Click() Report.[Print] (True) '打印 End Sub
Private Sub cmdPrePrint_Click() '因為報表對象的print方法名與VB內部定義有衝突,所以要用中括號括起來 Report.PrintPreview (True) '打印預覽 End Sub
報表的刷新:
Private Sub cmdRefresh_Click() Report.DetailGrid.Recordset.QuerySQL = "select top 1 * from checkday_info order by date desc" GRDViewer.Refresh '刷新日結賬單 End Sub
最後更新:2017-04-03 14:54:11
上一篇:
劍指Offer之打印1到最大的N位數
下一篇:
EL表達式語言
磁盤陣列RAID講解
網站內容長期不被收錄的原因
景安專項網安扶持項目啟動 為河南企業保駕護航
讓技術人員看得懂的流程(1)——麵向對象設計全流程概述
“自主可控”移動信息化係統保障“數據安全”
[WCF權限控製]模擬(Impersonation)與委托(Delegation)[上篇]
記一次數據盤掛載mount: wrong fs type, bad option, bad superblock on /dev/vdb1的排查
MVC ViewData和ViewBag
刪除一個目錄下部分類型之外的所有文件的三種方法
筆記:Ceph and Swift: Why we are not fighting.