机房收费系统总结之结帐

2024-08-26 23:08

本文主要是介绍机房收费系统总结之结帐,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       结账这个真的比较难,改了又改,改了又改。


           因为这个窗口是在管理的权限范围之内的,所以我做了改动,把可以实现结账功能的人,也就是操作员和管理员都列在了这个里面。管理员和操作员都可以实现结账的权利。

      因为combobox是能是下拉菜单来现实这个功能,不能往里面输入任何的字符,所以这时候就需要用一个键盘事件啦。

Private Sub Combo1_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub

          就这样,很轻松的就实现了这个功能啦。

     接下来就是俩个combobox实现同步的功能啦,首先需要将combo1中的操作员和管理员的用户名添加进去,其实就是用到了一个通过循环经行增加。具体代码:

        
Private Sub Form_Load()
txtsql = "select * from User_Info where Level <>'一般用户'" '选择用户级别Set mrc = ExecuteSQL(txtsql, msgtext)Do While mrc.EOF = FalseCombo1.AddItem Trim(mrc.Fields(0))    '通过循环进行添加mrc.MoveNextLoopmrc.Close
End Sub

         然后就是俩个combo的同步啦。也就是combo2随着combo1的变化而变化,这时候需要用combo1的单击事件啦

txtsql1 = "select * from User_Info where userID='" & Trim(Combo1.Text) & "'" '选择用户级别
Set mrc1 = ExecuteSQL(txtsql1, msgtext1)
Combo2.Text = Trim(mrc1.Fields(3))

       那么,我们现在需要实现的就是在SSTab1这个控件里面显示各种信息啦,首先购卡充值退卡、临时用户的这些信息分别是从student、recharge、cancelcard和的数据库表中查询到的,现在我们以临时用户为例,来看看具体的额代码。

If SSTab1.Tab = 3 Then
txtsql = "select * from student_Info where UserID = '" & Combo1.Text & "'and type='临时用户'and status='未结账'"
Set mrc = ExecuteSQL(txtsql, msgtext)
With MSFlexGrid4.CellAlignment = 4.Rows = 1.TextMatrix(0, 0) = "学号".TextMatrix(0, 1) = "卡号".TextMatrix(0, 2) = "日期".TextMatrix(0, 3) = "时间"Do While mrc.EOF = False.Rows = .Rows + 1.TextMatrix(.Rows - 1, 0) = Trim(mrc!studentno).TextMatrix(.Rows - 1, 1) = Trim(mrc!cardno).TextMatrix(.Rows - 1, 2) = Trim(mrc!Date).TextMatrix(.Rows - 1, 3) = Trim(mrc!Time)mrc.MoveNextLoopmrc.CloseEnd With
End If

             在汇总的目录下,我们可以看到里面有一些售卡张数和退卡张数等信息,这些数据可以直接在我们我们已经敲了代码的购卡、退卡等信息中经行查询,也就是售卡张数就是我们购卡中的行数,退卡张数就是我们的退卡的行数,当然需要减去表头的一行啦。当然啦,我们也可以用mrc.RecordCount来实现,但是这样我们还需要查询一次数据库,比较麻烦。

                                

            售卡张数-退卡张数=总售卡数   注册充值金额-退卡金额=应收金额 

      接下来就是结账的这个command按钮的代码啦!

      首先我们知道,我们按下啦结账,软件的后台是怎样经行工作的。我们结账的界面将直接在报表中经行反应的,也就是报表中要得数据是从这里来的,所以需要更新报表中的数据,同时需要修改cancelcard和recharge中的数据,具体代码如下
Private Sub Command1_Click()
Dim d As String
Dim cash As String
Dim consume As Stringtxtsql1 = "select * from recharge_info where UserID='" & Combo1.Text & "'and  status='未结账'"
Set mrc1 = ExecuteSQL(txtsql1, msgtext1)
If mrc1.EOF = False Thentxtsql = "select *  from Line_Info where offdate='" & Trim(Format(Now, "yyyy-mm-dd")) & "'"
Set mrc = ExecuteSQL(txtsql, msgtext)
If mrc.RecordCount = 0 Thend = 0
Else
Do While mrc.EOF = False
d = Val(d) + Val(mrc!consume)
mrc.MoveNext
Loop
mrc.Close
End Iftxtsql = "select * from checkday_info"
Set mrc = ExecuteSQL(txtsql, msgtext)
If mrc.BOF And mrc.EOF Thenremaincash = 0
Elsemrc.MoveLastremaincash = mrc.Fields(4)mrc.MoveFirst
End Ifmrc.AddNewmrc.Fields(0) = remaincashmrc.Fields(1) = Text5.Textmrc.Fields(2) = dmrc.Fields(3) = Val(Text2.Text)mrc.Fields(4) = Val(Text5.Text - d - Text2.Text)mrc.Fields(5) = Datemrc.Update
mrc.Closetxtsql = "select * from recharge_info where UserID='" & Combo1.Text & "'and  status='未结账'"
Set mrc = ExecuteSQL(txtsql, msgtext)
If mrc.RecordCount = 0 ThenText5.Text = 0Elsemrc!Status = "已结账"mrc.Updatemrc.Close
End If
txtsql1 = "select * from cancelcard_info where UserID='" & Combo1.Text & "'and  status='未结账'"
Set mrc1 = ExecuteSQL(txtsql1, msgtext1)
If mrc1.RecordCount = 0 ThenText2.Text = 0
Elsemrc1!Status = "已结账"mrc1.Updatemrc1.Close
End IfMsgBox "结账成功!", vbOKOnly, "提示"Exit Sub
ElseMsgBox "已经结账成功啦,不能重复结账"Exit Sub
End IfEnd Sub
             对于这段代码,我觉得最重要的就是把汇总的信息添加到日报表啦,这里面涉及到很多的算法,当然啦,这仅仅是我自己的理解。前些天师傅验收系统的时候提到了利用change事件来实现整个结账的功能,这样更方便用户。所以,我们用软件是让任何人来用的,也就是需要耐得住点啊!



这篇关于机房收费系统总结之结帐的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1109949

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的