虽然vb自带了报表,但是,那个我还没有研究,我和大多数同学一样使用了grid++report设计器。它提供独有的报表查询展示功能,让报表查询展示、打印、打印预览及数据导出等集成一体化实现。轻松实现表格报表、动态报表、多层表头、票据套打、交叉表、统计图表、表中表及各种特殊报表等,是中式报表的最佳开发工具。
一、安装后,打开vb后,工程——部件。添加如图显示的两项:Grid++Report Designer5.0 Type Library和Grid++Report Engine5.0 Type Library.
工具箱就会出现如下的三个图标:
二、打开grdesigner40.exe 生成报表。
1、文件——新建——向导
2、点击下一步,出现:“定义主要信息”——“创建数据库连接串”
3、设置“数据库连接属性”
4、填写完成以上信息后,测试链接——确定,“定义主要信息”变为如下图所示:
5、完成后,出现以下报表:
三、设置报表:
1、修改标题行:双击即可修改,若不能修改可以按下图所示修改:
2、添加系统变量:时间
点击“插入”——“综合文字框”,画在报表中适合位置。
点击文本框,开始修改文本框内容
点击 上图中的 ... 按钮
编辑内容,以及插入系统变量:CurrentDateTime
下图是完善后的报表:
以上内容即是报表制作的详细过程。
四、下面就是在vb中添加GRDisplayViewer1,实现vb调用报表。
代码如下:
Dim Report As grproLibCtl.GridppReport Dim strtxtSQL As String Private Sub Form_Load() '实例化报表 Set Report = New grproLibCtl.GridppReport '报表建立的位置 Report.LoadFromFile "D:\机房收费系统\checkday.grf" '和数据库连接 Report.DetailGrid.Recordset.ConnectionString = "FileDSN=charge.dsn;uid=sa;pwd=123456" '数据源 '查询数据库中的表 strtxtSQL = "select * from CheckDay_Info" '查询结果显示在报表中 Report.DetailGrid.Recordset.QuerySQL = strtxtSQL '查看报表 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
实现后的效果:
预览的效果: