【第一次机房】机房收费系统——上机

上机是机房收费系统中非常重要的一个功能,也是最先需要实现的功能呢,以上是上机的流程图

Private Sub cmdOnLine_Click()
    Dim startime As String
    Dim mrc As ADODB.Recordset     '连接student表中的
    Dim txtSQL As String
    Dim MsgText As String
    Dim mrc1 As ADODB.Recordset  '连接online表中的
    Dim mrc2 As ADODB.Recordset  '连接line表中的
    
    '检查卡号是否存在
    txtSQL = "select * from student_Info where cardno= '" & txtCardNo.Text & "'"
    Set mrc = ExecuteSQL(txtSQL, MsgText)
    
    If mrc.EOF Then
        MsgBox "没有这个卡号,请重新输入!", vbOKOnly + vbExclamation, "警告"
        txtCardNo.Text = ""
        mrc.Close
        txtCardNo.SetFocus
    Else
        If Trim(mrc.Fields(10)) = "不使用" Then
            MsgBox "没有此卡号"
        Else
            If Trim(Val(mrc.Fields(7))) <= 0 Then
            MsgBox "余额不足,请充值"
            txtCardNo.Text = ""
                 txtName.Text = ""
                 txtSex.Text = ""
                 txtSID.Text = ""
                 txtDept.Text = ""
                 txtType.Text = ""
                 txtOffDate.Text = ""
                 txtOnTime.Text = ""
                 txtOnDate.Text = ""
                 txtOffTime.Text = ""
                 txtCTime.Text = ""
                 txtCMoney.Text = ""
            Else
            
                '点击上机,下机时间和日期,消费时间和金额文本框中数据清空
                txtOnDate.Text = ""
                txtOnTime.Text = ""
                txtCTime.Text = ""
                txtCMoney.Text = ""
                
                '检查上机是否重复
                txtSQL = "select * from Online_Info where cardno = '" & txtCardNo.Text & "'"
                Set mrc1 = ExecuteSQL(txtSQL, MsgText)
                
                If mrc1.EOF Then
                    '从student表中向各个文本框中添加上机的数据
                    
                    mrc.Update
                        txtSID.Text = mrc.Fields(1)
                        txtName.Text = mrc.Fields(2)
                        txtSex.Text = mrc.Fields(3)
                        txtDept.Text = mrc.Fields(4)
                        txtBalance.Text = mrc.Fields(7)
                        txtType.Text = mrc.Fields(14)
                    
                    mrc.Close
                    
                    '如果没有查到数据,那么创建一个新行,添加各个数据
                    mrc1.AddNew
                        mrc1.Fields(0) = Trim(txtCardNo.Text)
                        mrc1.Fields(1) = Trim(txtType.Text)
                        mrc1.Fields(2) = Trim(txtSID.Text)
                        mrc1.Fields(3) = Trim(txtName.Text)
                        mrc1.Fields(4) = Trim(txtDept.Text)
                        mrc1.Fields(5) = Trim(txtSex.Text)
                        mrc1.Fields(6) = Date
                        mrc1.Fields(7) = Time
                        mrc1.Fields(8) = VBA.Environ("computername")
                        
                    startime = Now  '获得系统时间
                    txtOnDate.Text = Format(startime, "yyyy/mm/dd")
                    txtOnTime.Text = Format(startime, "hh:mm:ss") '使用格式函数显示格式
                    mrc1.Update
                    
                    '刷新line表中的数据
                    txtSQL = "select * from Line_Info where cardno = '" & txtCardNo.Text & "'"
                    Set mrc2 = ExecuteSQL(txtSQL, MsgText)
                    
                    mrc2.AddNew
                    mrc2.Fields(1) = Trim(txtCardNo.Text)
                    mrc2.Fields(13) = "正常下机"
                    
                    mrc2.Fields(2) = Trim(txtSID.Text)
                    mrc2.Fields(3) = Trim(txtName.Text)
                    mrc2.Fields(4) = Trim(txtDept.Text)
                    mrc2.Fields(5) = Trim(txtSex.Text)
                    mrc2.Fields(6) = Date
                    mrc2.Fields(7) = Time
                    mrc2.Fields(14) = VBA.Environ("computername")
                    
                    mrc2.Update
                    
                    MsgBox "上机成功", vbOKOnly + vbExclamation, "登录成功"
                Else
                    MsgBox "此用户正在上机"
                End If
            End If
        End If
    End If
End Sub

以上是代码部分,供大家参考

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值