关于报表-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

关于报表

简介:   在机房收费系统的日结账单和周结账单里面,用到了报表,感觉这个东西只要按照步骤一步步来,比写一句错误百出的SQL语句容易的多。    以日结账单为例(只写了报表部分代码):    Option Explicit Dim WithEvents Report As grprolibctl.

  在机房收费系统的日结账单和周结账单里面,用到了报表,感觉这个东西只要按照步骤一步步来,比写一句错误百出的SQL语句容易的多。

   以日结账单为例(只写了报表部分代码):

  

Option Explicit
Dim WithEvents Report As grprolibctl.GridppReport   '实例化报表

Dim SQL As String


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

End Sub

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

Private Sub cmdRefresh_Click()   '日结账单刷新
    Call showReport   '显示查询到的报表
    Viewer.Refresh '刷新
End Sub

Private Sub Form_Load()
  
    '创建报表对象
    Set Report = New grprolibctl.GridppReport
    
    '载入报表模板文件
    Report.LoadFromFile (App.Path & "\报表\DayAccount.grf")
    
    '设置数据源连接
    Report.DetailGrid.Recordset.ConnectionString = ConnectionString
    
    Call showReport   '显示报表
    
    '查看报表
    Viewer.Report = Report
    Viewer.Start
End Sub


Private Sub showReport()  '显示并更新报表
    
    '定义查询表的SQL语句
     SQL = "select * from dayaccount where 日期='" & Format(GetSqlTime, "yyyy-mm-dd") & "'"
    
    '将查询到的记录显示在报表里面
    Report.DetailGrid.Recordset.QuerySQL = SQL
    

End Sub


     这个是报表使用时在VB里面的代码,另外,SQL的连接字符串和SQL语句可以在报表设计的时候,写在报表里面。


       在周结账单里面,还涉及到VB里面向报表传递参数问题,只要加上产生传递的语句即可。

 

 '开始时间和结束时间的参数传递
    Report.ParameterByName("TimeBegin").AsDateTime = Format(CDate(DTpcBegin.Value), "yyyy-mm-dd")
    Report.ParameterByName("TimeEnd").AsDateTime = Format(CDate(DTPcEnd.Value), "yyyy-mm-dd")
    



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: