【机房】账单

机房收费系统中管理员可以打印账单。

窗体展示:

在这里插入图片描述

上一篇博客已经介绍了如何设置报表点击查看:Grid++Report报表查询显示器

下面来介绍一下如何使用报表查询器

实例化报表

Dim report As GridppReport '实例化报表

初始化数据

Private Sub report_initialize() '初始化数据

    report.ParameterByName("username").AsString = Username
    report.ParameterByName("begindate").AsString = Format(beginDate.Value, "yyyy-mm-dd")
    report.ParameterByName("enddate").AsString = Format(endDate.Value, "yyyy-mm-dd")
 
End Sub

首先设置日期
窗体加载时显示当前日期,并且开始日期不能大于截止日期。

Dim z As Date
    
    '窗体加载显示当前日期
    beginDate.Value = Now()
    endDate.Value = Now()
    
    '开始日期的最大值为截止日期
    
    z = endDate.Value
    beginDate.MaxDate = z

实例化模板

 Set report = New GridppReport '实例化模版

    report.LoadFromFile (App.Path & "\weekcheck.grf")               '加载模版
    report.DetailGrid.Recordset.ConnectionString = ConnectString() '连接数据源
    report.DetailGrid.Recordset.QuerySQL = "select  * from checkWeek_Info "    '通过SELECT查询创建记录集
    report.ParameterByName("begindate").Value = beginDate.Value
    report.ParameterByName("enddate").Value = endDate.Value
    GRDisplayViewer1.report = report
    GRDisplayViewer1.Start

连接各种数据表

Dim MsgText As String
    Dim txtSQL As String
    Dim mrcLine As ADODB.Recordset      '连接在线记录表
    Dim mrcCancel As ADODB.Recordset    '连接退卡表
    Dim mrcRe As ADODB.Recordset        '连接充值表
    Dim mrcWeek As ADODB.Recordset      '连接周账单表
    Dim mrcch As ADODB.Recordset
    Dim mrcch5 As ADODB.Recordset       '
    
    Rem:Currency为货币型
    Dim Cancelcash As Currency          '本期退卡金额
    Dim Rechargecash As Currency        '本期充值金额
    Dim Consumecash As Currency         '本期消费金额
    Dim RemainCash As Currency
    Dim allcash As Currency             '本期充值卡余额
    Dim rechargecard As Currency        '上期充值卡余额

连接数据表进行查询消费金额退卡金额


        '查询时间的消费金额
        txtSQL = "select sum(consume) from line_info where ondate between'" & Format(beginDate.Value, "yyyy-mm-dd") & "'" & "and'" & Format(endDate.Value, "yyyy-mm-dd") & "'"
        Set mrcLine = ExecuteSQL(txtSQL, MsgText)
            If IsNull(mrcLine.Fields(0)) = True Then
                Consumecash = 0
            Else
                Consumecash = Trim(mrcLine.Fields(0))
            End If
        '查询时间的退卡金额
 
        txtSQL = "select sum(CancelCash) from CancelCard_info where date between'" & Format(beginDate.Value, "yyyy-mm-dd") & "'" & "and'" & Format(endDate.Value, "yyyy-mm-dd") & "'"
        Set mrcCancel = ExecuteSQL(txtSQL, MsgText)
            If IsNull(mrcCancel.Fields(0)) = True Then
                Cancelcash = 0
            Else
                Cancelcash = Trim(mrcCancel.Fields(0))
            End If

        '查询时间充值金额
        txtSQL = "select sum(addmoney) from ReCharge_info where date between'" & Format(beginDate.Value, "yyyy-mm-dd") & "'" & "and'" & Format(endDate.Value, "yyyy-mm-dd") & "'"
        Set mrcRe = ExecuteSQL(txtSQL, MsgText)
            If IsNull(mrcRe.Fields(0)) = True Then
                Rechargecash = 0
            Else
                Rechargecash = Trim(mrcRe.Fields(0))
            End If

然后对周账单进行更新

'周账单更新
    txtSQL = "select * from checkweek_info  "
    Set mrcWeek = ExecuteSQL(txtSQL, MsgText)
    
        mrcWeek.AddNew
        mrcWeek.Fields(0) = 0            '本期充值金额
        mrcWeek.Fields(1) = Trim(Rechargecash)
        mrcWeek.Fields(2) = Trim(Consumecash)
        mrcWeek.Fields(3) = Trim(Cancelcash)
        mrcWeek.Fields(4) = 0
        mrcWeek.Fields(5) = Trim(Date)
        mrcWeek.Update
        mrcWeek.Close

    report.DetailGrid.Recordset.QuerySQL = "select * from checkweek_info where date between'" & Format$(beginDate.Value, "yyyy-mm-dd") & "'" & "and'" & Format$(endDate.Value, "yyyy-mm-dd") & "'"
    report.ParameterByName("begindate").Value = Format$(beginDate.Value, "yyyy-mm-dd")
    report.ParameterByName("enddate").Value = Format$(endDate.Value, "yyyy-mm-dd")
    GRDisplayViewer1.Refresh

然后就是对报表进行操作哦

账单刷新


Private Sub cmdRefresh_Click()
   
    report.DetailGrid.Recordset.QuerySQL = "select  * from checkWeek_Info where date between '" & beginDate.Value & "' and '" & endDate.Value & "' "   '通过SELECT查询创建记录集
    GRDisplayViewer1.Refresh '刷新

End Sub

打印

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

End Sub

打印预览

Private Sub cmdPreview_Click()

    report.PrintPreview (True)           '打印预览

End Sub

感谢阅读~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张_Laura

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值