在机房收费系统的项目里,管理员级别有两个功能是日结账单和周结账单,在这里首次接触到了报表。那么,什么是报表呢?怎么做报表呢?怎么使用报表呢?接下来一一介绍。
What?
报表就是员工向上级报告情况的表格。简单的说:报表就是用表格、图表等格式来动态显示数据,可以用公式表示为:"报表 = 多样的格式 + 动态的数据"。
在这个程序中,大概使用了三类显示数据的方式。其一,Label、Text、MSFlexGrid1控件,这是VB提供的最基本的显示数据的方式,使用方便,但是显示数据量少,没有具体的数据显示格式,编辑复杂,功能比较少。其二,Excel表,在查询信息后,将数据导出来是很方便的,清晰明了,并可对查询导出的数据进行进一步的操作,进行数据分析、处理等,功能强大;但数据编辑不方便。其三,Report++grid 报表,这种方式数据呈现形式清晰明了,可根据自己需要制定符合自己需求的报表,个性化很强,但操作复杂。
How to do
首先我们需要下载一个报表设计器,下载安装制作工具grid++report 。下载地址:
http://www.onlinedown.net/soft/44547.html
步骤:
一:首先需要插入:报表头、报表尾、明细网格、报表页眉、报表页脚。(菜单栏或右击即可)
二:链接数据库:1、点击sql按钮
2、连接数据库
3、数据链接属性,根据自己情况填写即可。
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))