机房收费系统系列五:报表

       在机房收费系统中还有两个地方用到了报表:日报表和周报表,在我看来日报表和周报表其实是一样的,日报表是统计一天的收入,支出,对每天金额做个统计,周报表就是记录从某个时间段到另一个时间段的净收入情况,周报表,不要被它的字面意思迷惑了,它不光可以查找这一周的收入情况,还可以查找任意时间段的时间,可能两天,可能二十天。如果你是个网吧的老板,这个工作就是必须做的,在原来的时候可能要在纸上写上在今天的什么时候某个人充值了多少钱,某个人销卡的时候退给了他多少钱,然后再用计算器算算今天一共的净收入是多少钱,密密麻麻的记载着一天的消费收入和支出,当然现在又很多卖衣服的都还是采用这种方式来记载着一天的净收入情况,这种形式在很多时候都是给自己看的,而且修改起来也不是很方便,报表就应运而生了……

        报表的基本意思是向上级报告情况的表格,“报表=多样的格式+动态的数据” 人们利用计算机处理数据和界面设计的功能来生成、展示报表。报表要做的事情就是帮你自动处理好数据,然后在界面上显示你需要的数据。这样不仅节省了时间,而且用户可以只修改数据,或者只修改格式,还能保证数据的准确性。所以这么好的东西,我们为什么不用呢?下面就来简单的介绍一下报表在vb中的使用。

1、报表设计器的安装

         Grid++Report 报表设计器,下载地址:http://download.csdn.net/detail/Netenjoy/2675096

2、在vb中添加控件

部件—>可插入对象

这是就会出现下图的三个图标

3、打开报表设计器,建立报表和数据库之间的联系

(1)文件——>新建向导

(2)出现定义主要内容的窗体,填写主标题和副标题,点击下一步


(3)建立和数据库的连接串,并填写查询SQL的语句,点击测试,检验是否和数据库建立联系


当出现数据库连接串与查询SQL语句测试通过时,点击确定,点击下一步

(4)定义字段,点击下一步


(5)按照步骤一步步走就可以了,这样就能出现大致的图

(6)这是还需要在报表上添加文字时,需要用到静态框和参数


        添加静态文本框比较简单,直接点击添加——>文本框,然后往里面添加内容就可以了,添加参数,例如添加制表时间now 时,首先需要添加参数,并对参数进行设置


然后在添加静态文本框,设置数据的参数


这样就可以了,按照这样的方法对需要添加的进行设置即可。

4、建立报表和vb的联系

在窗体中添加控件GRDesigner


加载报表

Private Sub Form_Load()
    Dim strSQL As String
    Dim strMsg As String
    strSQL = "select * from CheckDay_Info where date='" & Format(Date, "yyyy-mm-dd") & "'"
    Set Report = New grproLibCtl.GridppReport
    Report.LoadFromFile (App.Path & "checkday.grf")   '加载模版
    Report.DetailGrid.Recordset.ConnectionString = connectstring   '数据源
        Report.ParameterByName("Date").AsString = Date '通过SELECT查询创建记录集

    Report.ParameterByName("Now").AsString = Now '通过SELECT查询创建记录集
         Report.DetailGrid.Recordset.QuerySQL = strSQL
     
    Dim Reportheader As IGRReportHeader
    Dim StaticBox As IGRStaticBox
      
    Set Reportheader = Report.InsertReportHeader
    GRDisplayViewer1.Report = Report
    GRDisplayViewer1.Start
End Sub

刷新页面代码

Private Sub CmdRefresh_Click()
    GRDisplayViewer1.Refresh     '刷新
End Sub
打印预览

Private Sub cmdView_Click()
    Report.PrintPreview (True)     '打印预览
End Sub
打印

Private Sub CmdPrint_Click()
    Report.[Print] (True)        '打印
End Sub

        报表这个控件听起来挺高大上的,把它分析开了不就是先下载个控件,然后从部件那里添加一下,用报表设计器设计一下,在vb中写一些代码而已……



原文地址:https://www.cnblogs.com/chenxiaochan/p/7237645.html