【机房收费系统——报表与vb交互之日结账和周结账】

简介: 【机房收费系统——报表与vb交互之日结账和周结账】

在上一篇中已经介绍了报表模板的制作了,当然我们不能还要介绍报表和vb的交互,当我们建好模板以后就要在vb中引用此报表,下面就结合日结账和周结账来介绍报表的使用。


首先我们应该在窗体加载事件中进行以下代码的编写;最后两行的意思是进行参数的传递,它的作用是用来显示时间段,在这里需要说明以下就是给我们的系统中,报表上的时间段不会改变。


20140814185058228.png

我们应该首先 在通用 里面对报表进行实例化

   Dim report As grproLibCtl.GridppReport    '实例化报表

<span style="font-family: Arial, Helvetica, sans-serif;">          </span><pre name="code" class="html">Private Sub Form_Load()
    Dim strsql As String
    Dim strmsg As String
                                                 '创建报表对象
    Set report = New grproLibCtl.GridppReport
                                                 '载入报表模版文件
    report.LoadFromFile (App.Path & "\日结报表.grf")
                                                     '设置数据连接串
    report.DetailGrid.Recordset.ConnectionString = ConnectString
                                    '用来使grdWeekliyBill报表查询器控件显示报表中的内容
    grddayliybill.report = report
    grddayliybill.Star
Private Sub cmdrefresh_Click()
                             '账单刷新
           Dim strsql As String
          Dim strmsg As String
          Dim mrc As ADODB.Recordset
          Dim mrcc As ADODB.Recordset
                  '日期的选定
          strsql = "select * from checkday_Info where date ='" & Date & "'"
         Set mrc = ExecuteSQL(strsql, strmsg)
            report.DetailGrid.Recordset.QuerySQL = strsql
            grddayliybill.Refresh   '刷新
 End Sub  
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:24px;">Private Sub cmdpreview_Click()              '打印预览</span>
    report.PrintPreview (True)
End Sub
Private Sub cmdprint_Click()             '打印
    report.[Print] (True)
End Sub</span>


 在插入代码之前我们应该在工程——部件中选择

20140814191509935.png


 下面简单介绍一下报表中参数的插入:

20140814190331491.png

修改完名称以后,下面进行参数的导入:

20140814190236328.png

下面介绍我在编写日结账和周结账的思路:


我认为日结没有很大的问题只要我们在结账窗体中,把数据导入日结账表中即可,也就说我们每结一次账,在数据库中的表中就会有一条记录,当我们 查看日结账的时候就会清楚的看到今天的结账明细账单。下面是我的代码:


首先在我们刷新时间之前,删除表中的所有记录(之前说过这是一张空表)

txtsql = "delete * from checkweek_info"
      set mrc = executesql (txtsql,msgtext)


在清空表之后,在日结表中区每一天的汇总数:

While (DateValue(enddateview.Value) - DateValue(startdateview.Value) >= 0)
            Text1.Text = DateValue(enddateview.Value) - DateValue(startdateview.Value)
            txtSQL = "select * from checkday_info where date = '" & startdateview.Value & "'"
             Set mrcc = ExecuteSQL(txtSQL, MsgText)
                If mrcc.EOF = True Then             '判断是否有记录
                    startdateview.Value = startdateview.Value
                Else
                    While (mrcc.EOF = False)
                        RechargeCash = RechargeCash + mrcc.Fields(1)
                        consumecash = consumecash + mrcc.Fields(2)
                        cancelCash = cancelCash + mrcc.Fields(3)
                        allcash = allcash + mrcc.Fields(4)
                        mrcc.MoveNext
                    Wend
                mrcc.Close
                                                    '获得上期余额
                txtSQL = "select * from checkday_info where date='" & Trim(startdateview.Value - 1) & "'"
                Set mrcc = ExecuteSQL(txtSQL, MsgText)
                    If mrcc.EOF = True Then
                        remaincash = 0
                    Else
                    While (mrcc.EOF = False)
                            remaincash = remaincash + mrcc.Fields(0)
                            mrcc.MoveNext
                        Wend
                    End If

最后将数据写入周结账单中:

           txtSQL = "select * from checkweek_info"
                Set mrccc = ExecuteSQL(txtSQL, MsgText)
                mrccc.AddNew
                mrccc.Fields(0) = remaincash
                mrccc.Fields(1) = RechargeCash
                mrccc.Fields(2) = consumecash
                mrccc.Fields(3) = cancelCash
                mrccc.Fields(4) = cancelCash
                mrccc.Fields(5) = startdateview.Value
                mrccc.update
            End If
                 startdateview.Value = startdateview.Value + 1
        Wen

到这我的日结账和周结账就编写完了,当然这是我的理解,如果有不同的想法或者是我的有错误,请读者们留言指正。


下一篇将总结 学生信息管理系统和机房收费系统中的组合查询的对比。

目录
相关文章
|
Docker 容器
容器创建遇到的问题
在更新容器运行时,碰到容器无法创建的问题
1519 0
|
安全 Linux 网络安全
Linux——OpenSSH如何升级到最新版本
Linux——OpenSSH如何升级到最新版本
1557 0
Linux——OpenSSH如何升级到最新版本
|
前端开发 JavaScript API
大事件项目超详细讲解(可跟做练手项目)(一)
大事件项目超详细讲解(可跟做练手项目)
1297 0
大事件项目超详细讲解(可跟做练手项目)(一)
|
存储 运维 Cloud Native
数据库技术的前沿探索:创新、挑战与未来机遇
一、引言 数据库技术作为信息化社会的基础设施,一直在不断演进以适应日益复杂的数据处理需求
1173 0
|
弹性计算 专有云 应用服务中间件
nginx在云平台服务几个典型代理场景中的应用案例
在云平台服务中有多种场景需要使用到反向代理,常见的应用场景包括:内网专有云平台访问公网资源、公有云平台访问客户内网IDC机房资源、云产品通过代理访问多个不同的资源等等。笔者总结几种场景配置nginx的7层反向代理、4层反向代理,巧妙实现应用需求。
nginx在云平台服务几个典型代理场景中的应用案例
|
编解码 安全 Unix
数据导入与预处理-第4章-数据获取python读取pdf文档
数据导入与预处理-第4章-数据获取Python读取PDF文档 1 PDF简介 1.1 pdf是什么 2 Python操作PDF 2.1 pdfplumber库
数据导入与预处理-第4章-数据获取python读取pdf文档
|
分布式计算 并行计算 Hadoop
Hadoop之初识MapReduce
1.MapReduce计算模型介绍 1.1.理解MapReduce思想 1.2.Hadoop MapReduce设计构思 2.官方MapReduce示例 2.1.示例1:评估圆周率π(PI) 2.2.示例2:单词词频统计WordCount 3.MapReduce Python接口接入 3.1.前言 3.3.程序执行
440 0
Hadoop之初识MapReduce
|
运维 网络协议 云栖大会
一文回顾阿里云基础设施2022云栖精彩时刻!
一文回顾阿里云基础设施2022云栖精彩时刻!
一文回顾阿里云基础设施2022云栖精彩时刻!
Py之zhon:zhon库的简介、安装、使用方法之详细攻略
Py之zhon:zhon库的简介、安装、使用方法之详细攻略
Py之zhon:zhon库的简介、安装、使用方法之详细攻略
|
Java
你知道String类为什么不能被继承吗?
在找工作面试的时候我们经常会被问到一个问题,那就是String类能被继承吗?为什么?我们都知道String类不能被继承,但为什么不能却不能回答地很完整。
1103 0
你知道String类为什么不能被继承吗?