第一次【機房收費系統】——上機
阿新 • • 發佈:2019-02-14
前言
最近在做機房收費系統,感觸真的特別深,就是那種忽然開竅的感覺,很爽,希望現在的你們也會和我一樣,雖然懂得不是很全面,但只要比原來會那麼一點點,足矣~偷偷告訴你們哈,做機房一定要畫流程圖,真的特別管用,下面是我的流程圖及程式碼分享給大家,希望可以給你們帶來幫助!
程式碼分享
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 = ""
txtType.Text = ""
txtStudentID.Text = ""
txtName.Text = ""
txtMajor.Text = ""
txtSex.Text = ""
txtOnlineDate.Text = ""
txtOnlineTime.Text = ""
txtOfflineDate.Text = ""
txtOfflineTime.Text = ""
txtConsumeTime.Text = ""
txtConsumeMoney.Text = ""
txtRemainingSum.Text = ""
Exit Sub
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 = ""
Exit Sub
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)
txtRemainingSum.Text = ""
Exit Sub
Else
txtSQL = "select * from BasicData_Info"
Set mrc2 = ExecuteSQL(txtSQL, MsgText)
If Val(mrc.Fields(7)) < mrc2.Fields(5) Then
MsgBox "餘額不足,請充值!", vbOKOnly + vbExclamation, "警告"
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 = ""
Exit Sub
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
mrc3.MoveNext
End Sub
小結
註釋雖然不多,但其實只要把流程圖畫出來,程式碼理解的就差不多,而且這對以後找Bug也是很有幫助的,要相信,世界會向那些有目標和遠見的人讓路。