流程图如下:

部分重要代码如下:
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