前言
最近在做机房收费系统,感触真的特别深,就是那种忽然开窍的感觉,很爽,希望现在的你们也会和我一样,虽然懂得不是很全面,但只要比原来会那么一点点,足矣~偷偷告诉你们哈,做机房一定要画流程图,真的特别管用,下面是我的流程图及代码分享给大家,希望可以给你们带来帮助!
代码分享
Private Sub cmdOnline_Click()
txtSQL = "select * from student_Info where cardno ='" & Trim(txtCardID.Text) & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF = True Then
MsgBox "该卡号不存在,请先注册!", vbOKOnly + vbExclamation, "警告"
txtCardID.SetFocus
txtCardID = ""
Else
If Trim(mrc.Fields(10)) = Trim("未使用") Then
MsgBox "此卡未使用,请先修改信息!", vbOKOnly + vbExclamation, "警告"
txtCardID.SetFocus
txtCardID.Text = ""
txtType.Text = ""
txtStudentID.Text = ""
txtName.Text = ""
txtMajor.Text = ""
txtSex.Text = ""
txtOnlineDate.Text = ""
txtOnlineTime.Text = ""
txtOfflineDate.Text = ""
txtOfflineTime.Text = ""
txtConsumeTime.Text = ""
txtConsumeMoney.Text = ""
txtRemainingSum.Text = ""
Else
txtSQL = "select * from OnLine_Info where cardno='" & Trim(txtCardID.Text) & "'"
Set mrc1 = ExecuteSQL(txtSQL, MsgText)
If mrc1.EOF = False Then
MsgBox "该卡号正在上机", vbOKOnly + vbExclamation, "警告"
txtCardID.Text = mrc1.Fields(0)
txtType.Text = mrc1.Fields(1)
txtStudentID.Text = mrc1.Fields(2)
txtName.Text = mrc1.Fields(3)
txtMajor.Text = mrc1.Fields(4)
txtSex.Text = mrc1.Fields(5)
txtOnlineDate.Text = mrc1.Fields(6)
txtOnlineTime.Text = mrc1.Fields(7)
Else
txtSQL = "select * from BasicData_Info"
Set mrc2 = ExecuteSQL(txtSQL, MsgText)
If Val(mrc.Fields(7)) < mrc2.Fields(5) Then
MsgBox "余额不足,请充值!", vbOKOnly + vbExclamation, "警告"
Else
txtCardID.Text = mrc.Fields(0)
txtStudentID.Text = mrc.Fields(1)
txtName.Text = mrc.Fields(2)
txtSex.Text = mrc.Fields(3)
txtMajor.Text = mrc.Fields(4)
txtType.Text = mrc.Fields(14)
txtOnlineDate.Text = Date
txtOnlineTime.Text = Time
txtOfflineDate.Text = ""
txtOfflineTime.Text = ""
txtConsumeTime.Text = ""
txtConsumeMoney.Text = ""
txtRemainingSum.Text = mrc.Fields(7)
MsgBox "上机成功!", vbOKOnly + vbInformation, "提示"
With mrc1
.AddNew
.Fields(0) = Trim(mrc.Fields(0))
.Fields(1) = mrc.Fields(14)
.Fields(2) = Trim(mrc.Fields(1))
.Fields(3) = Trim(mrc.Fields(2))
.Fields(4) = mrc.Fields(4)
.Fields(5) = mrc.Fields(3)
.Fields(6) = Date
.Fields(7) = Time
.Fields(8) = VBA.Environ("computername")
.Fields(9) = Now
.Update
.Close
End With
End If
End If
End If
End If
txtSQL = "select * from Line_Info where cardno='" & Trim(txtCardID.Text) & "'"
Set mrc3 = ExecuteSQL(txtSQL, MsgText)
mrc3.AddNew
mrc3.Fields(1) = Trim(txtCardID.Text)
mrc3.Fields(2) = Trim(txtStudentID.Text)
mrc3.Fields(3) = Trim(txtName.Text)
mrc3.Fields(4) = Trim(txtMajor.Text)
mrc3.Fields(5) = Trim(txtSex.Text)
mrc3.Fields(6) = Trim(txtOnlineDate.Text)
mrc3.Fields(7) = Trim(txtOnlineTime.Text)
mrc3.Fields(13) = "正常上机"
mrc3.Fields(14) = "JJH"
mrc3.Update
End Sub
小结
注释虽然不多,但其实只要把流程图画出来,代码理解的就差不多,而且这对以后找Bug也是很有帮助的,要相信,世界会向那些有目标和远见的人让路。