机房收费系统已经做了有一段时间了,过程中遇到了不少问题,但收获也是很大的。今天先把报表的制作记录一下,也和大家分享一下:
1、首先需要报表设计器设计报表,我们可以下载Grid++Report 报表设计器,其实在VB中是有报表设计器的,首先工程—部件—设计器—data report(可以看一下师姐的博客点击打开链接)。我用的是前者,下面讲一下前者的设计过程,其实原理都是一样的。
2、打开报表计时器,一张报表基本由“报表头——明细网格——报表尾”三部分组成,还可以添加页眉、页脚。
A.先点击“插入”——报表头
a.点击“插入”——选择“静态框”,在静态框中添加文字信息(机房开放收入总汇表)
b.点击“插入”——选择“综合文字框”,在综合文字框中设置参数“DataStart”和“DataEnd”,这里最好添加两 个综合文字框,方便设置。还要添加制作时间的综合文字框“MakeNow”如下图
表头设计好还需要添加参数,设置参数类型:右击“参数集合”——“插入”——“参数”,插入“DataStart”,“Dat aEnd”和“MakeNow”,将它们的数据类型都设置为日期时间。如下图,这样报表头就完成了。
B.再点击“插入”——明细表格,如图:
a.插入明细网格后,需要创建数据库链接,将数据库的数据添加到网格中。如下图:
b.下一步后,设置数据链接属性:
c.测试连接成功后,需要在查询SQL下写,所链接查询的数据库表明,如下:
d.在编辑中点击“根据查询生成字段”和“根据字段生成列”完成列的设置,然后双击标题行,编辑行标题文本
这样报表就建立完成了,你还可以插入报表尾进行相关设置。报表完成后关键的是与VB的连接,在VB程序中显示我们设计的报表。
3、VB程序主要代码
需要添加部件,然后编写代码
声明:
Dim WithEvents Report As grproLibCtl.GridppReport '实例化报表
主要代码:
'创建报表对象 Set Report = New grproLibCtl.GridppReport '加载报表模板 Report.LoadFromFile App.Path & "\周汇总报表.grf" '设置数据连接 Report.DetailGrid.Recordset.ConnectionString = "FileDSN=charge.dsn;UID=sa;PWD=123456" '查看报表 Report.DetailGrid.Recordset.QuerySQL = txtSQL '设置报表查询显示器控件 GRDisplayViewer1.Report = Report '启动报表运行 GRDisplayViewer1.Start这样周结和日结账单就算完成了,但是这两个账单只是对于结账相关信息的显示,关键还是结账。现在机房差不多完成了,但是结账还是有些问题,思路不是很清晰,理清思路再写代码实现运行才是关键,继续加油!Fighting!!!