我的上下机可以说是机房收费系统的最后的一部分。在敲上下机之前自己没有去理一理思路,用户是怎样上机的又是怎样下机的,只是听他们说比较难,所以有一点点畏惧的心理,所以一直拖延到了最后。其实,当自己静下心来思考的时候,也没有那么难,最最主要的要有自己的思考。
下面是我对于上下机的流程图分析
下面是上机按钮下的代码实现过程
Dim txtSQL As String '定义变量
Dim MsgText As String
Dim mrconline As ADODB.Recordset
Dim mrcline As ADODB.Recordset
Dim mrcstudent As ADODB.Recordset
Dim mrccancelcard As ADODB.Recordset
'假如卡号未注册
txtSQL = "select * from student_info where cardno='" & Trim(txtcardno.Text) & "' "
Set mrcstudent = ExecuteSQL(txtSQL, MsgText)
If mrcstudent.EOF Then
MsgBox "此卡未注册!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
'假如卡号已经上机
txtSQL = "select * from online_info where cardno='" & Trim(txtcardno.Text) & "' "
Set mrconline = ExecuteSQL(txtSQL, MsgText)
If mrconline.EOF = False Then
MsgBox "此卡已经上机,请重新输入卡号!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
'假如已经退卡,不能再上机
txtSQL = "select * from cancelcard_info where cardno='" & Trim(txtcardno.Text) & "' "
Set mrccancelcard = ExecuteSQL(txtSQL, MsgText)
If mrccancelcard.EOF = False Then
MsgBox "此卡已经退卡,请重新输入!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
'判断输入情况
If Trim(txtcardno.Text) = "" Then
MsgBox "请输入卡号!", vbOKOnly + vbExclamation, "警告"
txtcardno.SetFocus
Exit Sub
Else
If Len(txtcardno.Text) > 10 Then
MsgBox "卡号不能超过10位数,请重新输入!", vbOKOnly + vbExclamation, "警告"
txtcardno.SetFocus
Exit Sub
End If
txtSQL = "select * from student_info where cardno='" & txtcardno.Text & "'"
Set mrconline = ExecuteSQL(txtSQL, MsgText)
If mrconline.EOF And mrconline.BOF Then '没有找到相应的卡号
MsgBox "卡号未注册,请重新输入!", vbOKOnly + vbExclamation, "警告"
txtcardno.Text = ""
txtcardno.SetFocus
Exit Sub
End If
End If