流程图如下:

机房【上机】

部分重要代码如下:

Private Sub cmdOnLine_Click()
    Dim mrc_li As ADODB.Recordset
    '判断卡号是否为空
    If Trim(txtCardno.Text) = "" Then
        MsgBox "请输入卡号!", 48
        txtCardno.Text = ""
        txtCardno.SetFocus
        Exit Sub
    Else
        txtSQL = "select * from student_info where cardno='" & Trim(txtCardno.Text) & "' and status='使用'"
        Set mrc_st = ExecuteSQL(txtSQL, MsgText)

        '判断卡号是否存在
        If mrc_st.EOF = True Then
            MsgBox "此卡尚未注册或者已经停用!", 48
            txtCardno.Text = ""
            txtCardno.SetFocus
            Exit Sub
        Else
            '判断余额是否充足
            If mrc_st.Fields(7) < 0 Then
                MsgBox "余额不足,请充值后上机!"
                txtCardno.Text = ""
                txtCardno.SetFocus
                Exit Sub
            Else
                '判断此卡是否正在上机
                txtSQL = "select * from online_info where cardno='" & Trim(txtCardno.Text) & "'"
                Set mrc_ol = ExecuteSQL(txtSQL, MsgText)
                If mrc_ol.EOF = False Then
                    MsgBox "此卡正在上机!", 48
                    '显示信息
                    txtCardno.Text = mrc_st.Fields(0)
                    txtSID.Text = mrc_st.Fields(1)
                    txtDept.Text = mrc_st.Fields(4)
                    txtType.Text = mrc_st.Fields(14)
                    txtname.Text = mrc_st.Fields(2)
                    txtSex.Text = mrc_st.Fields(3)
                    txtOnDate = Date
                    txtOnTime = Time
                    txtBalance = mrc_st.Fields(7)
                    'txtSQL = "select count(cardno) from online_info"
                    lblPeo.Caption = mrc_ol.RecordCount
                Else
                    txtSQL = "select * from student_info where cardno='" & Trim(txtCardno.Text) & "'"
                    Set mrc_st = ExecuteSQL(txtSQL, MsgText)
                    
                    txtType.Text = mrc_st.Fields(14)
                    txtSID.Text = mrc_st.Fields(1)
                    txtname.Text = mrc_st.Fields(2)
                    txtDept.Text = mrc_st.Fields(4)
                    txtSex.Text = mrc_st.Fields(3)
                    txtOnDate = Date
                    txtOnTime = Time
                    txtBalance = mrc_st.Fields(7)
                    lblPeo.Caption = mrc_ol.RecordCount + 1
                    MsgBox "上机成功!"
    
                    '更新online表
                    txtSQL = "select * from online_info"
                    Set mrc_ol = ExecuteSQL(txtSQL, MsgText)
                    
                    mrc_ol.AddNew
                    mrc_ol.Fields(0) = mrc_st.Fields(0)
                    mrc_ol.Fields(1) = mrc_st.Fields(14)
                    mrc_ol.Fields(2) = mrc_st.Fields(1)
                    mrc_ol.Fields(3) = mrc_st.Fields(2)
                    mrc_ol.Fields(4) = mrc_st.Fields(4)
                    mrc_ol.Fields(5) = mrc_st.Fields(3)
                    mrc_ol.Fields(6) = txtOnDate.Text
                    mrc_ol.Fields(7) = txtOnTime.Text
                    mrc_ol.Fields(8) = Trim(VBA.Environ("computername"))
                    mrc_ol.Fields(9) = Now
                    mrc_ol.Update
                    
                    '更新line表
                    txtSQL = "select * from line_info"
                    Set mrc_li = ExecuteSQL(txtSQL, MsgText)
                    
                    mrc_li.AddNew
                    mrc_li.Fields(1) = Trim(txtCardno.Text)
                    mrc_li.Fields(2) = Trim(txtSID.Text)
                    mrc_li.Fields(3) = Trim(txtname.Text)
                    mrc_li.Fields(4) = Trim(txtDept.Text)
                    mrc_li.Fields(5) = Trim(txtSex.Text)
                    mrc_li.Fields(6) = Trim(txtOnDate.Text)
                    mrc_li.Fields(7) = Trim(txtOnTime.Text)
                    mrc_li.Fields(12) = Trim(txtBalance.Text)
                    mrc_li.Fields(13) = "正常上机"
                    mrc_li.Fields(14) = Trim(VBA.Environ("computername"))
                    mrc_li.Update
                End If
            End If
        End If
    End If
                
End Sub

 

相关文章: