机房收费系统之报表

       机房收费系统的报表窗体之前完全不懂如何去敲,因为涉及到了新的控件,总会有些抵触,不过通过问同学和百度对报表就有了一个大致的了解,也就没什么了。报表就是用表格、图表等格式来动态显示数据。

       首先,要下载一个报表设计器,来打开编辑报表

                                         机房收费系统之报表_第1张图片


        然后可以插入表头、表尾、网格、静态框、字段框、参数等,之后点击SQL设置数据库连接串,测试连接成功后完成报表与数据库的连接。


机房收费系统之报表_第2张图片

再然后就是完成VB与报表的交互,完成报表与VB的连接。在部件中添加,然后在窗体加载中写入程序:

Private Sub Form_Load()
    Set Report = New grproLibCtl.GridppReport  '实例化报表report
    
    Report.LoadFromFile (App.Path & "\weekcheck.grf")   '载入报表文件
    Report.DetailGrid.Recordset.ConnectionString = ConnectString   '数据源连接数据库直接调用写好的模块内容
    GRDisplayViewer1.Report = Report    '查看报表
    GRDisplayViewer1.Start      '显示报表
    Report.ParameterByName("Begindate").Value = Format(BeginDateView.Value, "yyyy-mm-dd")  '报表参数赋值
    Report.ParameterByName("EndDate").Value = Format(EndDateView.Value, "yyyy-mm-dd")
    Report.ParameterByName("XX").Value = UserName   '显示管理员
End Sub

  报表刷新:

    Dim txtSQL As String
    Dim MsgText As String
    
    If BeginDateView.Value > EndDateView.Value Then    '条件限制
        MsgBox "终止日期不能小于起始日期", vbOKOnly + vbExclamation, "警告"
        Exit Sub
    End If
    txtSQL = "select * from checkweek_info where date between '" & Format$(BeginDateView.Value, "yyyy-mm-dd") & "' and '" & Format$(EndDateView.Value, "yyyy-mm-dd") & "'"  '调出结账时赋给数据表的值
    Report.DetailGrid.Recordset.QuerySQL = txtSQL
    GRDisplayViewer1.Refresh    '刷新
    Report.ParameterByName("Begindate").Value = BeginDateView.Value   '将选定的时间段显示出来
    Report.ParameterByName("EndDate").Value = EndDateView.Value

  打印:

Report.[Print] (True)

  打印预览:

Report.PrintPreview (True)

      这是周结账单的内容,日结账单与其类似,一些细节没有写出,不过自己总结一遍,印象便愈深一刻




你可能感兴趣的:(机房收费系统之报表)