第一次机房收费系统之结账

2024-02-22 20:48

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

前言:
机房收费系统的结账窗体主要是先想清楚功能的逻辑思路。
1.结账是结谁的帐?
结账是管理员的权限,是管理员给操作员结账,操作员工作期间售卡以及充值的金额还有退卡时应退给学生的金额。所以结账是操作员工作期间机房的收入。
2.怎么结账?
在SSTab控件中有购卡,充值,退卡,临时用户几个选项卡,临时用户和购卡的收费金额已经结算到充值中,所以现在清楚结账就是:应收金额=充值金额-退卡金额
部分代码:
单击选项卡:

Private Sub SSTab_Click(PreviousTab As Integer)Dim Smrc As ADODB.RecordsetDim Rmrc As ADODB.RecordsetDim Cmrc As ADODB.RecordsetDim SLmrc As ADODB.RecordsetDim StxtSQL As StringDim RtxtSQL As StringDim CtxtSQL As StringDim SLtxtSQL As StringDim Smsgtext As StringDim Rmsgtext As StringDim Cmsgtext As StringDim SLmsgtext As StringDim i As IntegerDim ReChargeSum As Single                   '定义充值金额Dim j As IntegerDim BackCardMoneySum As Single              '定义退卡金额'连接student_info表StxtSQL = "select * from student_info where userid ='" & Trim(cboOpUserID.Text) & "' and ischeck='未结账'"Set Smrc = ExecuteSQL(StxtSQL, Smsgtext)'连接recharge_info表RtxtSQL = "select * from recharge_info where userid='" & Trim(cboOpUserID.Text) & "' and status='未结账'"Set Rmrc = ExecuteSQL(RtxtSQL, Rmsgtext)'连接cancelcard_info表CtxtSQL = "select * from cancelcard_info where userid='" & Trim(cboOpUserID.Text) & "' and status='未结账' "Set Cmrc = ExecuteSQL(CtxtSQL, Cmsgtext)'连接student_info表SLtxtSQL = "select * from student_info where userid ='" & Trim(cboOpUserID.Text) & "' and ischeck='未结账' and type='临时用户'"Set SLmrc = ExecuteSQL(SLtxtSQL, SLmsgtext)Select Case SSTab.Tab'选择购卡Case 0'显示数据With MSHFlexGrid1.rows = 1.CellAlignment = 4.ColAlignment = 4.TextMatrix(0, 0) = "学号".TextMatrix(0, 1) = "卡号".TextMatrix(0, 2) = "日期".TextMatrix(0, 3) = "时间"Do While Not Smrc.EOF.rows = .rows + 1.CellAlignment = 4.ColAlignment = 4.TextMatrix(.rows - 1, 0) = Smrc.Fields(1).TextMatrix(.rows - 1, 1) = Smrc.Fields(0).TextMatrix(.rows - 1, 2) = Smrc.Fields(12).TextMatrix(.rows - 1, 3) = Smrc.Fields(13)Smrc.MoveNextLoopAdjustColWidth Me, MSHFlexGrid1End With'选择充值Case 1'显示数据With MSHFlexGrid2.rows = 1.CellAlignment = 4.ColAlignment = 4.TextMatrix(0, 0) = "学号".TextMatrix(0, 1) = "卡号".TextMatrix(0, 2) = "充值金额".TextMatrix(0, 3) = "日期".TextMatrix(0, 4) = "时间"Do While Not Rmrc.EOF.rows = .rows + 1.CellAlignment = 4.ColAlignment = 4.TextMatrix(.rows - 1, 0) = Rmrc.Fields(1).TextMatrix(.rows - 1, 1) = Rmrc.Fields(2).TextMatrix(.rows - 1, 2) = Rmrc.Fields(3).TextMatrix(.rows - 1, 3) = Rmrc.Fields(4).TextMatrix(.rows - 1, 4) = Rmrc.Fields(5)Rmrc.MoveNextLoopAdjustColWidth Me, MSHFlexGrid1End With'选择退卡Case 2'显示数据With MSHFlexGrid3.rows = 1.CellAlignment = 4.ColAlignment = 4.TextMatrix(0, 0) = "学号".TextMatrix(0, 1) = "卡号".TextMatrix(0, 2) = "日期".TextMatrix(0, 3) = "时间".TextMatrix(0, 4) = "退卡金额"Do While Not Cmrc.EOF.rows = .rows + 1.CellAlignment = 4.ColAlignment = 4.TextMatrix(.rows - 1, 0) = Cmrc.Fields(0).TextMatrix(.rows - 1, 1) = Cmrc.Fields(1).TextMatrix(.rows - 1, 2) = Cmrc.Fields(3).TextMatrix(.rows - 1, 3) = Cmrc.Fields(4).TextMatrix(.rows - 1, 4) = Cmrc.Fields(2)Cmrc.MoveNextLoopAdjustColWidth Me, MSHFlexGrid1End With'选择临时用户Case 3'显示数据With MSHFlexGrid4.rows = 1.CellAlignment = 4.ColAlignment = 4.TextMatrix(0, 0) = "学号".TextMatrix(0, 1) = "卡号".TextMatrix(0, 2) = "日期".TextMatrix(0, 3) = "时间"Do While Not SLmrc.EOF.rows = .rows + 1.CellAlignment = 4.ColAlignment = 4.TextMatrix(.rows - 1, 0) = SLmrc.Fields(1).TextMatrix(.rows - 1, 1) = SLmrc.Fields(0).TextMatrix(.rows - 1, 2) = SLmrc.Fields(12).TextMatrix(.rows - 1, 3) = Trim(SLmrc.Fields(13))SLmrc.MoveNextLoopAdjustColWidth Me, MSHFlexGrid1End With'选择汇总Case 4'计算售卡张数txtSellCardSum.Text = Smrc.RecordCount'计算退卡张数txtBackCardSum.Text = Cmrc.RecordCount'计算总售卡张数txtSellCardActual.Text = Smrc.RecordCount - Cmrc.RecordCount'计算充值金额For i = 0 To Rmrc.RecordCount - 1ReChargeSum = ReChargeSum + Val(Rmrc.Fields(3))Rmrc.MoveNextNext itxtRecharge.Text = ReChargeSum'计算退卡金额For j = 0 To Cmrc.RecordCount - 1BackCardMoneySum = BackCardMoneySum + Val(Cmrc.Fields(2))Cmrc.MoveNextNext jtxtBackCardMoney.Text = BackCardMoneySum'计算应收金额txtCollectMoney.Text = txtRecharge.Text - txtBackCardMoney.TextCase 5Unload MeEnd SelectSmrc.CloseRmrc.CloseCmrc.CloseSLmrc.Close
End Sub

结账:

Private Sub cmdAccount_Click()Dim Smrc, Rmrc, Cmrc As ADODB.RecordsetDim StxtSQL, RtxtSQL, CtxtSQL As StringDim Smsgtext, Cmsgtext, Rmsgtext As StringIf Not Testtxt(cboOpUserID.Text) ThenMsgBox "请先选择操作员后结账!", vbOKOnly + vbExclamation, "提示"Exit SubEnd If'更新student_Info表的更新状态StxtSQL = "update student_Info set Ischeck ='已结账' where userid= '" & cboOpUserID & "'"Call ExecuteSQL(StxtSQL, Smsgtext)'更新recharge_Info表的更新状态RtxtSQL = "update recharge_Info set status ='已结账' where userid= '" & cboOpUserID & "'"Call ExecuteSQL(RtxtSQL, Rmsgtext)'更新cancelcard_Info表的更新状态CtxtSQL = "update cancelcard_Info set status ='已结账' where userid= '" & cboOpUserID & "'"Call ExecuteSQL(CtxtSQL, Cmsgtext)MsgBox "结账成功!", vbOKOnly + vbExclamation, "提示"End Sub

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



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

相关文章

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序