上机流程图如上所示。这是判断是否能上机的过程。以下是代码:
'上机
Private Sub cmdOn_Click()
'保证输入了卡号
If Trim(txtCardID.Text) = "" Then '没有输入卡号,提示
MsgBox "请输入卡号", vbOKOnly + vbExclamation, "警告"
txtCardID.SetFocus
Else '输了卡号以后,确保卡号是注册过的
txtSQL = "select * from student_info where cardno='" & Trim(txtCardID.Text) & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF = True Then
MsgBox "卡号不存在", vbOKOnly + vbExclamation, "提示"
txtCardID.Text = ""
txtCardID.SetFocus
mrc.Close
Else
'余额大于等于最小值
If mrc.Fields(7) < 2 Then
MsgBox "余额不足,请充值"
Else
'判断是否已经上机
txtSQL = "select * from online_info where cardno='" & Trim(txtCardID.Text) & "'"
Set mrconline = ExecuteSQL(txtSQL, MsgText)
If Not (mrconline.BOF And mrconline.EOF) Then
MsgBox "该卡正在上机", vbOKOnly
Else
'上机成功
onTime = lblTime.Caption '当前时间赋给ontime
MsgBox "上机成功"
txtSJdate.Text = Date
txtSJtime.Text = Time
txtType.Text = mrc.Fields(10)
txtSID.Text = mrc.Fields(1)
txtMajor.Text = mrc.Fields(4)
txtSex.Text = mrc.Fields(3)
txtName.Text = mrc.Fields(2)
txtBalance.Text = mrc.Fields(7)
'添加信息到上机表中
mrconline.AddNew
mrconline.Fields(0) = Trim(txtCardID.Text)
mrconline.Fields(1) = Trim(txtType.Text)
mrconline.Fields(2) = Trim(txtSID.Text)
mrconline.Fields(3) = Trim(txtName.Text)
mrconline.Fields(4) = Trim(txtMajor.Text)
mrconline.Fields(5) = Trim(txtSex.Text)
mrconline.Fields(6) = Trim(txtSJdate.Text)
mrconline.Fields(7) = Trim(txtSJtime.Text)
mrconline.Fields(8) = UserName
mrconline.Update
End If
End If
End If
End if
End Sub
还有一些东西还没用到,将来用到的时候会加上,这是上机的基本功能实现。