机房收费系统之报表篇

  简单的说,报表就是用表格、图表等格式来动态显示数据,详细请见这里

作者:九期 昌哥

(一)制作报表

    首先打开锐浪报表设计器,界面如下 

                                    

    乍一看,什么都没有啊!不着急,咱们一步一步来DIY自己的报表:

    定义报表头

    1、插入报表头:执行菜单“插入-〉报表头”,新插入的报表头显示在报表布局窗口中。

    2、插入一个静态框显示报表标题:执行菜单“插入-〉静态框”,用鼠标在报表头的显示区域拖放一个矩形区域,一个新的静态框显示在拖放的矩形区域位置。或者利用工具栏中的“静态框“部件手动画上

                                                                                                     

    3、双击新插入的静态框,输入”机房收入日汇总表“作为标题,完成后按回车键,之后选中,利用工具栏上的相关按钮对字体和部件框的位置进行修改

                                                        

    4、调整报表头和静态框的大小。将鼠标放置部件上,对边框进行拖动,调到合适大小。

    定义明细网格

   1、插入明细网格:执行菜单“插入-〉明细网格”,新插入的明细网格显示在报表布局窗口中。

    2、定义数据库连接串与查询SQL:在明细网格的工具栏上选择“数据库连接串与查询SQL”打开定义窗口 

                                                       

    下面就到了重头戏上,这个关乎到数据库连接的成败

    定义数据库连接串:执行窗口左下角的”创建数据库连接串......“  

                        

    然后按照上图中的顺序进行下一步

                                                                                       

    上图中:①反应比较慢,需要耐心等待,然后填写sql用户名与密码,选择连接的数据库,最后点击:”测试连接“,确定即可。需要说明的是:必须选中”允许保存密码“复选框,否则在其后的连接中会出现错误。

    定义查询SQL并检测正确性 在查询SQL编辑框中录入“select * from  CheckDay_Info”,点击“测试”

                         

  3、创建字段:执行菜单“编辑-〉根据查询生成字段”或者选择明细网格工具栏上的此时在右上角的对象浏览窗口的“记录集”节点下会有很多字段子节点。

                                             

  4、创建列:执行菜单“编辑-〉根据字段生成列”,此时在明细网格上的“字段集合”按钮,会显示很多列

                                                            

    5、调整列宽:将光标移动到列的右边界位置进行拖放

    6、改变表格标题的显示文字:按照上图中的提示进行即可

  定义页脚显示页号

   1、插入页脚:执行菜单“插入-〉页脚”,新插入的页脚会显示在报表布局窗口中。

    2、插入一个综合文字框显示打印时间:

    插入综合文字框:在部件框工具栏中选择“综合文字矿”,然后在页脚的左边拖放一个矩形,一个综合文字框已经插入。

    设置显示内容:在右下位置的属性编辑窗口中选中“文本”行,点击“...”按钮打开文本编辑对话框。在编辑框中输入“打印时间:”。然后执行“插入域”按钮,引用类型选择“系统变量”,系统变量选择“CurrentDateTime”

                          

   当然,这个系统时间也可以放到其他具有综合文字框的位置。

   然后,可以根据需要添加页眉,操作过程跟页眉相似,在此不再赘述。

  查看设计结果

  这个过程可以在添加任何部件的时候进行,最后对自己所DIY的报表进行美化,然后就可以大功告成了! 

               

  PS:1、该软件的“撤销”和“恢复”功能相当强悍,比VB和Word还牛。当然,最好还是养成一个随时保存的习惯,多按几次Ctrl+S即可。

      2、很多操作都是在该软件的“帮助”下完成的。看来“帮助”真的是一款好软件的灵魂啊!这也给自己一个好的提示呢!

(二)vb与报表的交互

    首先,安装Grid++Report 5.0报表设计器,具体过程如破解等在此不做涉及。然后打开VB程序,通过“Ctrl+T”快捷键调出“部件”窗口,勾选“Grid++Report Engine5.0 Type Library”,然后在工具箱窗口中会自动添加两个小部件,按照下图鼠标箭头提示在窗体中添加一个GRDisplayViewer1控件:

                                        

    然后,再添加其他实际所需的控件。本例中实现三个功能:① 刷新        ② 打印       ③ 打印预览。

                           

    最后就是添加代码了。显示报表数据的结果如上图,其相关代码如下:

Dim WithEvents Report As grproLibCtl.GridppReport                  '实例化报表  
 
Private Sub Form_Load()  
  1.   
  2.     Dim strSQL As String, strMsg As String  
  3.     strSQL = "select * from checkday_info where date='" & Format(Date"yyyy-mm-dd") & "'"  
  4.     Set Report = New grproLibCtl.GridppReport                      '实例化模版  
  5.       
  6.     Report.LoadFromFile (App.Path & "\checkday.grf")               '加载模版  
  7.     Report.DetailGrid.Recordset.ConnectionString = ConnectString() '连接数据源  
  8.     Report.DetailGrid.Recordset.QuerySQL = strSQL                  '通过SELECT查询创建记录集  
  9.     GRDisplayViewer1.Report = Report  
  10.     GRDisplayViewer1.Start                                         '开始打印  
  11. End Sub  

    对于“打印”:    

Private Sub cmdPrint_Click()  
  1.     Report.[Print] (True)                                          '打印,因为报表对象的print方法名与vb的内部定义有冲突所以要用中括号  
  2. End Sub  

    对于“打印预览”:

Private Sub cmdPreview_Click()  
  1.     Report.PrintPreview (True)                                     '打印预览  

End Sub  

      对于“刷新”:

Private Sub cmdRefresh_Click()  
  1.     GRDisplayViewer1.Refresh                                       '刷新  

End Sub  

    效果图分别如下:

                                       
                                                                                           打印

                    

                                                                                      打印预览

                 注意:1、最好把做好的报表放到VB程序目录下,方便以后打包发布,防止出现找不到路径的问题。

                             2、查找数据的时候代码一定要写对,否则,一个空格都有可能出现错误。

                             3、由于我的电脑上没有连接打印机,所以只是选择发送到Onenote中。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值