机房收费系统之手动下机(获取时间差、更新数据库数据、判断时间差)

        下机窗体的梳理着实耗费了不少时间,的确是一个费脑细胞的活儿,不过过程也是挺享受的,那个专注力、那个废寝忘食的劲头儿少有吖^_^

一、下机窗体的流程图(如有不对的地方还望各位大神给予指导^_^):

二、错误集(本窗体中的大错误并不是很多,都是以前遇到的就不在此赘述了^_^)

三、查询集

①、如何计算时间差?

DateDiff函数

https://msdn.microsoft.com/zh-cn/vba/language-reference-vba/articles/datediff-function

②、VB中如何修改数据库信息?

update语句

 

四、代码片段(重复代码功能不再赘述):

①、计算时间差

timediff = DateDiff("n", txtontime.Text, txtofftime.Text)    '计算上下机时间差

②、判断用户类型

    basictxtSQL = "select * from BasicData_Info"
    Set basicmrc = ExecuteSQL(basictxtSQL, basicMsgText)
                                                   '获取基本数据设定表中的计价标准
    If Trim(txttype.Text) = "固定用户" Then         '判断临时用户还是固定用户
        unitprice = basicmrc.Fields(0)
    Else
        unitprice = basicmrc.Fields(1)
    End If

③、VB中更新数据库数据

    txtSQL = "update student_Info set cash= " & Trim(txtcash.Text) & " where cardno= " & txtcardno.Text & ""
    Set mrc = ExecuteSQL(txtSQL, MsgText)
    '更新学生表余额

④、VB中删除数据库数据

    onlinetxtSQL = "delete from Online_Info where cardno='" & Trim(txtcardno.Text) & "'"
    Set onlinemrc = ExecuteSQL(onlinetxtSQL, onlineMsgText)
    '更新正在上机数据表信息

⑤、判断上机时长是否小于最小时长

If timediff < basicmrc.Fields(3) Then 'timediff为上机时间,判断上机时间是否小于最小上机时间
   txtconsume.Text = 0                '是的话消费金额为0
Else
   txtconsume.Text = linemrc.Fields(11)  '大于最小上机时间则正常收费
End If

以上便完成了下机的基本操作,对于细节性的文本框约束等内容均未涉及,先让程序运行起来再细化吧,下一站走起^_^

猜你喜欢

转载自blog.csdn.net/Elsa15/article/details/82530949