机房收费系统之结账

 

 

     在做机房收费系统的时候,最麻烦的事情,莫过于结账、日结与周结账单的操作。下面就来说一下我自己的经验。

 

         思路

 

 

 

           这是我们需要操作的界面。

  在做的过程中,思路很重要,思路通了,整个代码也就基本上做出来了。

  下面就来分析一下这个界面的功能。

 

 

  1.通过选择不同的操作员,下面就呈现不同的操作员的工作记录。

  2.购卡账单,显示购买卡学生的信息。

  3.退卡账单显示退卡学生信息

  4.充值卡显示充值学生信息。

  5.结账界面,就是整个操作的汇总。

 

 

 

  代码过程

  以上的操作怎么转变为代码呢?

  操作员的设置。

    在操作员选择的部分是同步的(选择好操作员姓名后,下面就是操作员的真实姓名),其实感觉这个功能是多余的。

  

 '选择框写入相应的人员的名字
    txtsql = "select * from userinfo where level='" & "操作员" & "'"    '选择用户级别
    Set mrc = executesql(txtsql, msgtext)
     
     Do While mrc.EOF = False
        text33.AddItem mrc.Fields(0)                '通过循环进行添加
        mrc.MoveNext
     Loop


   这个功能是自动添加相应的操作员。那么怎么实现同步呢?

   这个也好实现,只需要相应的组合框的单击事件即可同步。

 

 

   购卡界面

   购卡界面,是通过切换实现,此操作员的购卡信息。代码如下:

  

     '开始写入购卡信息
    If sstab1.Tab = 0 Then                '切换不同选项卡来写入事件

        myflexgrid1.Rows = 1           '此功能是当切换的时候,自动的清楚行中的信息
        myflexgrid1.Cols = 4
       

   '售卡信息
       txtsql = "select * from student_information where rechargeman = '" & Trim(text33.Text) & "'" & " and checkcount = '" & "否" & "'"

       Set mrc = executesql(txtsql, msgtext)
        With myflexgrid1
            .TextMatrix(0, 0) = "学号"
            .TextMatrix(0, 1) = "卡号"
            .TextMatrix(0, 2) = "日期"
            .TextMatrix(0, 3) = "时间"
            Do While mrc.EOF = False
                .Rows = .Rows + 1
                .TextMatrix(.Rows - 1, 0) = Str(mrc.Fields(0))
                .TextMatrix(.Rows - 1, 1) = Str(mrc.Fields(6))
                .TextMatrix(.Rows - 1, 2) = mrc.Fields(8)
                .TextMatrix(.Rows - 1, 3) = mrc.Fields(9)
                mrc.MoveNext
            Loop


        End With


  

   结账界面操作

   退卡、充值的操作是一致的。在此就不多说了。

   怎么来获得购卡张数,退卡张数呢? 代码如下:

   

'计算学生购卡的张数
         txtsql = "select count(*) from student_information where rechargeman = '" & Trim(text33.Text) & "'" & " and checkcount = '" & "否" & "'"
         Set mrc = executesql(txtsql, msgtext)
         g_totalcard = mrc.Fields(0)
         mrc.Close
         End If
         
        '计算此操作员卖出去的总张数
        txtsql = "select count(*) from student_information where rechargeman = '" & Trim(text33.Text) & "'"
         Set mrc = executesql(txtsql, msgtext)
         g_allcard = mrc.Fields(0)
         mrc.Close

     通过这种方式可以计算出此操作员的各中操作。

     总后的应收总金额总又怎么来写入呢?

     应收总金额=充值金额-退卡金额

 

 

 

  结账

  得到了以上的各种功能,下面就开始我们的结账了。

  此操作就是把这个结账界面的信息存入到我们的日结账单表中,为以后查询做准备。

 

  首先为了防止重复性的操作一个人员,需要修改状态。代码如下:

  

         '充值状态变化
     txtsql = "select * from rechargerecord where rechargeman ='" & Trim(text33.Text) & "'" & " and checkcount = '" & "否" & "'"
     Set mrc = executesql(txtsql, msgtext)
     
     Do While mrc.EOF = False
        mrc.Fields(5) = "是"
        mrc.MoveNext
     Loop
      
      mrc.Close


      通过这个操作就修改了我们表中的结账状态。(当然需要修改的表的又好几个,比如充值表,退卡表),操作都是一致的。

 

  存入数据

  修改完状态后,就开始把需要的数据存储到日结账单表中

  我们的日结账单表如下:

  

 

  在此我们怎么来了解到上次结账的余额呢?

  代码如下:

 

'上次剩余金额
     txtsql = "select * from checkday"
     Set mrc = executesql(txtsql, msgtext)
     '获取上次的剩余金额
        mrc.MoveLast      '移动到最后
        lastremain = mrc.Fields(4)     '获得上次结账的余额
        mrc.MoveFirst

 

   通过对象的Movelast属性获得我们需要的数据。

 

   写入数据

  

 '添加下一次记录
     mrc.AddNew
     mrc.Fields(0) = lastremain
     mrc.Fields(1) = g_consumecash
     mrc.Fields(2) = g_txttotalmoney + money
     mrc.Fields(3) = Text1.Text
     mrc.Fields(4) = txtreturnmoney + lastremain
     mrc.Fields(5) = registerdate

     mrc.Update
     mrc.Close
     
     MsgBox "结账成功", vbOKOnly + vbExclamation, "提示"

 

  到此,整个结账的过程,添加完毕。

 

  下一篇,将介绍周结账单。

    

  

已标记关键词 清除标记
相关推荐
程序员的必经之路! 【限时优惠】 现在下单,还享四重好礼: 1、教学课件免费下载 2、课程案例代码免费下载 3、专属VIP学员群免费答疑 4、下单还送800元编程大礼包 【超实用课程内容】  根据《2019-2020年中国开发者调查报告》显示,超83%的开发者都在使用MySQL数据库。使用量大同时,掌握MySQL早已是运维、DBA的必备技能,甚至部分IT开发岗位也要求对数据库使用和原理有深入的了解和掌握。 学习编程,你可能会犹豫选择 C++ 还是 Java;入门数据科学,你可能会纠结于选择 Python 还是 R;但无论如何, MySQL 都是 IT 从业人员不可或缺的技能!   套餐中一共包含2门MySQL数据库必学的核心课程(共98课时)   课程1:《MySQL数据库从入门到实战应用》   课程2:《高性能MySQL实战课》   【哪些人适合学习这门课程?】  1)平时只接触了语言基础,并未学习任何数据库知识的人;  2)对MySQL掌握程度薄弱的人,课程可以让你更好发挥MySQL最佳性能; 3)想修炼更好的MySQL内功,工作中遇到高并发场景可以游刃有余; 4)被面试官打破沙锅问到底的问题问到怀疑人生的应聘者。 【课程主要讲哪些内容?】 课程一:《MySQL数据库从入门到实战应用》 主要从基础篇,SQL语言篇、MySQL进阶篇三个角度展开讲解,帮助大家更加高效的管理MySQL数据库。 课程二:《高性能MySQL实战课》主要从高可用篇、MySQL8.0新特性篇,性能优化篇,面试篇四个角度展开讲解,帮助大家发挥MySQL的最佳性能的优化方法,掌握如何处理海量业务数据和高并发请求 【你能收获到什么?】  1.基础再提高,针对MySQL核心知识点学透,用对; 2.能力再提高,日常工作中的代码换新貌,不怕问题; 3.面试再加分,巴不得面试官打破沙锅问到底,竞争力MAX。 【课程如何观看?】  1、登录CSDN学院 APP 在我的课程中进行学习; 2、移动端:CSDN 学院APP(注意不是CSDN APP哦)  本课程为录播课,课程永久有效观看时长 【资料开放】 课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化。  下载方式:电脑登录课程观看页面,点击右侧课件,可进行课程资料的打包下载。
<p> <strong><span style="font-size:16px;color:#003399;">手工测试中遇到的坑 你踩过几个?</span></strong><strong><span style="font-size:16px;color:#003399;"></span></strong> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdnimg.cn/202012171208356126.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <strong><span style="font-size:16px;color:#003399;">解锁自动化测试技能 打破手工测试局限</span></strong> </p> <p> <br /> </p> <p> <span style="font-size:14px;">自动化测试是测试工作的一部分,是对手工测试的一种补充。自动化测试是相对手工测试而存在的,通过所开发</span><span style="font-size:14px;">的软件测试工具、脚本等来实现,具有良好的可操作性、可重复使用和高效率等特点。</span> </p> <p> <span style="font-size:14px;"><br /> </span> </p> <p> <span style="font-size:14px;"><img src="https://img-bss.csdnimg.cn/202012171212024924.png" alt="" /><br /> </span> </p> <p> <span style="font-size:14px;"><br /> </span> </p> <p> <br /> </p> <p> <br /> </p> <p> <span style="font-size:16px;color:#003399;"><strong>Python自动化测试</strong></span> </p> <p> <span style="font-size:14px;"><strong><span style="font-size:16px;color:#003399;">系统教学+实战分析 简单易上手</span></strong><strong><span style="font-size:16px;color:#003399;"></span></strong><strong><span style="font-size:16px;color:#003399;"></span></strong><br /> </span> </p> <p> <span style="font-size:14px;"><br /> </span> </p> <p> <span style="font-size:14px;">课程使用的是语法简洁、提供丰富的测试库和框架的Python语言,并从测试人员的角度,梳理当前最热门的自动化测试框架和常用库,并通过实战,带你快速建立自动化测试技术体系,让测试工作更高效!<br /> </span> </p> <p> <span style="font-size:14px;"><br /> </span> </p> <p> <span style="font-size:14px;"><img src="https://img-bss.csdnimg.cn/202012171223546601.png" alt="" /><br /> </span> </p> <p> <br /> </p> <p> <br /> </p> <p> <strong><span style="font-size:16px;color:#003399;">3个项目实战</span></strong> </p> <p> <strong><span style="font-size:16px;color:#003399;">全程手敲代码演示 听得懂 更要会用</span></strong><strong><span style="font-size:16px;color:#003399;"></span></strong> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdnimg.cn/202012171224069333.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <strong><span style="font-size:16px;color:#003399;">3大购课福利</span></strong> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdnimg.cn/202012180149359103.png" alt="" /> </p>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页