机房收费系统之VB报表

    简单地说:报表就是用图表、表格等格式来动态显示数据,用一个公式来表示的话,就是“报表 = 多样的格式 + 动态的数据”,报表可以说是企业管理的基本措施和途径,是企业的基本业务要求,可以说是企业运作所必须的。

    要想在VB中使用报表,首先必须得安装一款报表的软件,在我做收费系统的时候,我用的是Grid++Report报表软件,然后打开VB——引用,找到图中的两个控件,添加之后,会显示两个新的部件,

 

    打开Grid++Report报表设计器,插入——报表头、明细网格、报表尾,要想成功的用VB报表成功,接下来,分成两大主要部分:

    1、数据库与报表的连接

 

    在明细网格上有三个图标,

   

   先点第一个,“数据库连接串与查询SQL”

机房收费系统之VB报表_第1张图片

创建数据库连接串——数据连接属性,选择“Microsoft OLE DB Provider for SQL Server”——下一步

机房收费系统之VB报表_第2张图片

机房收费系统之VB报表_第3张图片

 

做完以上步骤之后,点第2、3个图标,按顺序,“根据数据设置自动生成字段”——“根据字段自动生成列”

机房收费系统之VB报表_第4张图片

到这,数据库和报表的连接完成。

 

    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



 

 


 

 

 

    

   

    

 

 

你可能感兴趣的:(报表,水晶报表,机房收费系统,VB报表,收费系统)