一、前提

当用户登录之后,注册一个卡号,可以进行上下机操作。

二、上机

上机代码:
Private Sub cmdOnline_Click()Dim txtSQL As StringDim MsgText As StringDim mrc As ADODB.RecordsetDim mrc1 As ADODB.Recordset    'OnLine_InfoDim mrc2 As ADODB.Recordset    'Line_InfoDim mrc3 As ADODB.Recordset    'Basicdata_InfoDim miCount As IntegertxtType.Text = ""txtStudentno.Text = ""txtName.Text = ""txtDepartment.Text = ""comboSex.Text = ""txtOnlinedate.Text = ""txtOnlinetime.Text = ""txtOfflinedate.Text = ""txtOfflinetime.Text = ""txtTime.Text = ""txtRemaincash.Text = ""txtUsedcash.Text = ""'卡号是否为空If txtCardno = "" ThenMsgBox "请输入卡号!", vbOKOnly, "提示"txtCardno.SetFocustxtCardno = ""Exit SubEnd If'卡号是否注册txtSQL = "select * from student_Info where cardno='" & Trim(txtCardno.Text) & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)If mrc.EOF ThenMsgBox "该卡号尚未注册,请重新输入!", vbOKOnly, "提示"txtCardno.SetFocustxtCardno = ""Exit SubEnd If'卡号是否在上机txtSQL = "select * from OnLine_Info where cardno='" & Trim(txtCardno.Text) & "'"Set mrc1 = ExecuteSQL(txtSQL, MsgText)If mrc1.EOF = False ThenMsgBox "该卡号正在上机!", vbOKOnly, "提示"txtCardno = ""txtCardno.SetFocustxtType.Text = ""txtStudentno.Text = ""txtName.Text = ""txtDepartment.Text = ""comboSex.Text = ""txtOnlinedate.Text = ""txtOnlinetime.Text = ""txtOfflinedate.Text = ""txtOfflinetime.Text = ""txtTime.Text = ""txtRemaincash.Text = ""txtUsedcash.Text = ""Exit SubEnd If'卡号是否余额不足If mrc.Fields(7) <= 5 ThenIf MsgBox("该卡号余额不足,是否充值?", vbOKCancel, "提示") = vbOK Thenfrmrecharge.Show , MeEnd IfExit SubEnd If'卡号使用状态If mrc.Fields(10) = "未使用" ThenIf MsgBox("该卡尚未激活,是否修改学生信息?", vbOKCancel, "提示") = vbOK Thenfrmmodifysinfo.Show , MeEnd IfExit SubEnd If'是否设定基础数据txtSQL = "select * from basicdata_Info"Set mrc3 = ExecuteSQL(txtSQL, MsgText)If mrc3.EOF ThenIf MsgBox("该卡尚未设定基础数据,无法登录,是否设定?", vbOKCancel, "提示") = vbOK Thenfrmsetbasicdata.Show , MeEnd IfExit SubEnd If'上机成功,更新上机界面信息txtSQL = "select * from student_Info where cardno='" & Trim(txtCardno.Text) & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)'显示数据txtStudentno.Text = Trim(mrc.Fields(1))txtDepartment.Text = Trim(mrc.Fields(4))txtType.Text = Trim(mrc.Fields(14))txtName.Text = Trim(mrc.Fields(2))comboSex.Text = Trim(mrc.Fields(3))txtOnlinedate.Text = Trim(Date)txtOnlinetime.Text = Trim(Time)txtRemaincash.Text = Val(Trim(mrc.Fields(7)))'更新上机表信息txtSQL = "select * from OnLine_Info"Set mrc1 = ExecuteSQL(txtSQL, MsgText)mrc1.AddNewmrc1.Fields(0) = Trim(txtCardno.Text)mrc1.Fields(1) = Trim(txtType.Text)mrc1.Fields(2) = Trim(txtStudentno.Text)mrc1.Fields(3) = Trim(txtName.Text)mrc1.Fields(4) = Trim(txtDepartment.Text)mrc1.Fields(5) = Trim(comboSex.Text)mrc1.Fields(6) = Trim(txtOnlinedate.Text)mrc1.Fields(7) = Trim(txtOnlinetime.Text)mrc1.Fields(8) = Trim("ZOEY")mrc1.Fields(9) = Trim(Date)mrc1.UpdatelblOnlineNum.Caption = mrc1.RecordCount'显示当前上机人数mrc1.Close'增加上机记录txtSQL = "select * from Line_Info"Set mrc2 = ExecuteSQL(txtSQL, MsgText)mrc2.AddNewmrc2.Fields(1) = Trim(txtCardno.Text)mrc2.Fields(2) = Trim(txtStudentno.Text)mrc2.Fields(3) = Trim(txtName.Text)mrc2.Fields(4) = Trim(txtDepartment.Text)mrc2.Fields(5) = Trim(comboSex.Text)mrc2.Fields(6) = Trim(txtOnlinedate.Text)mrc2.Fields(7) = Trim(txtOnlinetime.Text)mrc2.Fields(13) = Trim("正常上机")mrc2.Fields(14) = Trim("ZOEY")mrc2.Updatemrc2.Close'更新上机人数txtSQL = "select count(*) from OnLine_Info "Set mrc1 = ExecuteSQL(txtSQL, MsgText)Label15.Caption = mrc1.RecordCount + 1End Sub

三、下机

下机代码:

Private Sub cmdOffline_Click()Dim txtSQL As StringDim MsgText As StringDim mrc As ADODB.Recordset   'student_infoDim mrc1 As ADODB.Recordset  'bascidata_infoDim mrc2 As ADODB.Recordset  'line_infoDim mrc3 As ADODB.Recordset  'online_info'卡号是否为空If txtCardno = "" ThenMsgBox "请输入卡号!", vbOKOnly, "提示"txtCardno.SetFocustxtCardno = ""Exit SubEnd If'卡号是否存在txtSQL = "select * from student_Info where cardno='" & Trim(txtCardno.Text) & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)If mrc.EOF ThenMsgBox "不存在该卡号!", vbOKOnly, "提示"txtCardno.SetFocustxtCardno = ""Exit SubEnd If'卡号是否正在上机txtSQL = "select * from OnLine_Info where cardno='" & Trim(txtCardno.Text) & "'"Set mrc3 = ExecuteSQL(txtSQL, MsgText)If mrc3.EOF ThenMsgBox "该用户未上机!", vbOKOnly, "提示"txtCardno.SetFocustxtCardno = ""txtType.Text = ""txtStudentno.Text = ""txtName.Text = ""txtDepartment.Text = ""comboSex.Text = ""txtOnlinedate.Text = ""txtOnlinetime.Text = ""txtOfflinedate.Text = ""txtOfflinetime.Text = ""txtTime.Text = ""txtRemaincash.Text = ""txtUsedcash.Text = ""Exit SubEnd If'更新界面信息txtType.Text = Trim(mrc3.Fields(1))txtStudentno.Text = Trim(mrc3.Fields(2))txtName.Text = Trim(mrc3.Fields(3))txtDepartment.Text = Trim(mrc3.Fields(4))comboSex.Text = Trim(mrc3.Fields(5))txtOnlinedate.Text = Trim(mrc3.Fields(6))txtOnlinetime.Text = Trim(mrc3.Fields(7))txtOfflinedate.Text = Trim(Date)txtOfflinetime.Text = Trim(Time)txtTime.Text = Trim(DateDiff("n", Trim(txtOnlinetime.Text), Trim(Time))) '把时间差转换为分钟'从基本数据表获取数据txtSQL = "select * from BasicData_Info "Set mrc1 = ExecuteSQL(txtSQL, MsgText)'计算消费金额Dim MinTime As IntegerDim AllTime As SingleDim Rate As SingleDim Money As IntegerMinTime = mrc1.Fields(3)AllTime = txtTime.Text'上机时间小于准备时间,不算时间,不花钱If Trim(txtTime.Text) < MinTime ThentxtTime.Text = 0 & ""Money = 0ElseIf AllTime > MinTime ThenDo While AllTime > MinTimeAllTime = AllTime - 30If mrc.Fields(14) = "固定用户" ThenMoney = Money + 2ElseMoney = Money + 3End IfLoopEnd IfEnd IftxtUsedcash.Text = Money'计算余额txtSQL = "select * from student_Info where cardno='" & Trim(txtCardno.Text) & "'and status='" & "使用" & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)txtRemaincash.Text = Val(Trim(mrc.Fields(7))) - Val(Trim(txtUsedcash.Text))txtSQL = "Update student_Info set cash='" & Trim(txtUsedcash.Text) & "' where cardno='" & Trim(txtCardno.Text) & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)MsgBox "下机成功!", vbOKOnly, "提示"'更新Line表txtSQL = "select * from Line_Info "Set mrc2 = ExecuteSQL(txtSQL, MsgText)If Not mrc2.EOF Thenmrc2.AddNewmrc2.Fields(1) = Trim(txtCardno.Text)mrc2.Fields(2) = Trim(txtStudentno.Text)mrc2.Fields(3) = Trim(txtName.Text)mrc2.Fields(4) = Trim(txtDepartment.Text)mrc2.Fields(5) = Trim(comboSex.Text)mrc2.Fields(6) = Trim(txtOnlinedate.Text)mrc2.Fields(7) = Trim(txtOnlinetime.Text)mrc2.Fields(8) = Trim(txtOfflinedate.Text)mrc2.Fields(9) = Trim(txtOfflinetime.Text)mrc2.Fields(10) = Trim(txtTime.Text)mrc2.Fields(11) = Trim(txtUsedcash.Text)mrc2.Fields(12) = Trim(txtRemaincash.Text)mrc2.Fields(13) = "正常下机"mrc2.Fields(14) = Trim(Environ("computername"))mrc2.Updatemrc2.CloseEnd Ifmrc3.Delete'更新上机人数txtSQL = "select count(*) from OnLine_Info "Set mrc3 = ExecuteSQL(txtSQL, MsgText)Label15.Caption = mrc3.RecordCountEnd Sub

清空大脑,理清思路,考虑周全,按照自己想要的结果去执行就好了。

【机房收费系统】---上下机相关推荐

  1. 机房收费系统——上下机

    自学生管理系统以后,进入了机房收费系统,开始自己真的很抵触这个东西,因为没有源码,只能靠自己了.对代码没有亲和力的我,只能硬着头皮硬闯.下面看看就讲讲我的上下机的辛酸路吧! [分析] 界面:很简单,只 ...

  2. 机房收费系统学生下机结账小结

    这几天一直在考虑机房收费系统学生下机操作.学生下机,一则须要加入学生下机记录信息:还须要计算学生在整 个上机过程中所花费的金额,而且更新学生剩余金额.那么如何做在性能上或者扩展上更好一些呢? 操作 1 ...

  3. 机房收费系统-动态计费与强制下机

    前言:之前以为自己机房收费系统马上就要收官了,结果最近自己发现还少点功能:那就是动态计费功能与强制下机功能.本次博客分为两个模块:第一模块为主界面的动态计费及强制下机,第二模块为学生上机状态查询的选中 ...

  4. 机房收费系统【VB版】——上下机

    前言: 机房收费系统三大难点之一--上下机,需要一点一点开始分析,不断完善自己的逻辑,然后对照逻辑[查表--更新--显示],编写代码. 逻辑流程图: 注意 计算消费金额: 总结: 其实这里自己应该反思 ...

  5. 机房收费系统之简单的逻辑(上)下机费用运算

    本篇博客适合已经做完上下机的同学.本篇主要讲下机时.上机费用的计算 ------本文若有错误请及时指出------ (一)流程图如下--简单 左图为计算 上机费用的流程图 我把他成了一个过程 在下机中 ...

  6. 【机房收费系统】——上机下机

    前言   上下级是机房收费系统最基本的操作,没有上下机,以后的操作都是根据上下机操作的以及为上下级服务的,所以我们需要在弄机房的时候,首先要对这个操作思路整理清楚! 上机   上机就是你去网吧去了,在 ...

  7. 机房收费系统【VB版】——选择下机

    前言: 今天实现机房收费系统--一般用户--学生上机状态查看--选中全部/部分下机部分收获很多!多亏了看光哥的博客,写的很清楚机房收费系统--上机状态查询之下机 过程: 要显示的表格式写查询,就会出来 ...

  8. 机房收费系统下机之动态显示余额和强制下机(1)

    优化 在做下机的时候,要考虑到强制下机的问题,如果我卡里面只有30元,却玩了40元的,那么在下机余额就是负的了,这时候再去充值就不合理了,所以我加了一个动态显示余额和强制下机的功能,我的动态计算是15 ...

  9. 重构机房收费系统(二)

    接上篇<机房收费系统重构(一)> 二.概要设计 完成了用例图,并用结合用例图完善了一下需求分析说明书,忘记是第几次修订需求分析说明书.有了用例图,很自然就进入了概要设计阶段.我认为这一阶段 ...

  10. 重构机房收费系统(一)

    从10月1号开始重构学校机房收费系统,没想到这次重构,推翻,再重构--用了两周时间. 这次整体架构采用三层,并融入了一些设计模式. 下面介绍这次重构的过程: 一.从UML用例图开始 对于机房收费系统的 ...

最新文章

  1. 汇总Javascript各种判断脚本(javascript经典例子)
  2. git——远程库和本地库
  3. 【转载】Gradle学习 第一章:引言
  4. matlab STFT从时频图找异常噪声的频率
  5. django 1.8 官方文档翻译: 3-3-1 文件上传
  6. Python组合数据类型:容器类型总览,(不)可变数据类型immutable、(不)可迭代对象iterable、迭代器iterator、生成器generator、语法糖
  7. 视频采集以及播放的流程
  8. mysql 递归_mysql5.7递归使用
  9. 计算机网络—体系结构相关真题练习(二)
  10. 第七次全国人口普查,数据来了!
  11. 怎么更改计算机上的限制应用,图文详解通过修改win10系统组策略实现限制指定应用程序的运行-系统操作与应用 -亦是美网络...
  12. OneNote for win10 登录不了
  13. vue中使用video插件在微信浏览器中视频无法自动播放的问题
  14. 标准盒模型和IE盒模型
  15. 10以太坊Token详解
  16. 写在19年初的后端社招面试经历(两年经验): 蚂蚁 头条 PingCAP
  17. 【机器学习经典算法】K近邻(KNN):核心与总结
  18. 求求你别再写上千行的类了,试试 IDEA 这些牛逼的重构技巧吧!
  19. python 检查图品二维码,识别图片二维码
  20. 痉挛性斜颈头颤怎么办?

热门文章

  1. [整理]CHttpConnection的使用
  2. BZOJ 2969 期望
  3. Codeforces Round #131 (Div. 2) B. Hometask dp
  4. win7+vs2008+windows mobile6.5.3
  5. Linux 切换到 root 用户后没有颜色
  6. 【jQuery笔记Part1】11-jQuery选择器
  7. Windows域控设置 AD域策略屏蔽端口 禁用端口【全域策略生效】
  8. Eclipse的设置、调优、使用(解决启动卡顿等问题)
  9. [转]使用FFmpeg将视频推流到nginx,通过vlc拉流播放(通过命令的方式)
  10. 量化中需留意的坑之一