【機房收費系統】--自動檢查餘額
阿新 • • 發佈:2019-02-17
我們在網咖上網的時候,每次卡里快沒錢的時候就會提醒你去充值,如果不充值的話就強制下機了。我想機房收費系統也應該有這個功能吧,既然有這個想法,就要去做,我先從師哥師姐的部落格入手,但是沒有找到這個功能的思路,在從百度找一些相關資料,經過兩天還是沒有實現,就在昨天的師徒會上,我提到了這個問題。師父的一句話讓我恍然大悟,可以利用陣列。
程式碼思路
程式碼展示
Dim mrc As ADODB.Recordset
Dim mrcc As ADODB.Recordset
Dim mrccc As ADODB.Recordset
Dim mrcccc As ADODB.Recordset
Dim txtsql As String
Dim msgtext As String
Dim i As Integer
Dim z As Integer
Dim shuzu(9999) As String
txtsql = "select cardno from online_info "
Set mrcccc = ExecuteSQL(txtsql, msgtext)
z = 1
For i = 0 To mrcccc.RecordCount - z
z = 1
mrcccc.MoveNext
If mrcccc.EOF Then
mrcccc.MoveFirst
End If
shuzu(i) = Trim(mrcccc.Fields(0))
txtsql = "select * from online_info where cardno = '" & shuzu(i) & "'"
Set mrccc = ExecuteSQL(txtsql, msgtext)
txtsql = "select * from basicdata_info "
Set mrc = ExecuteSQL(txtsql, msgtext)
txtsql = "select * from student_info where cardno = '" & shuzu(i) & "'"
Set mrcc = ExecuteSQL(txtsql, msgtext)
txtCTime.Text = Abs(Val(DateDiff("n", Time, Trim(mrccc.Fields(7)))))
If txtCTime.Text < Trim(mrc.Fields(3)) Then
txtCash = mrcc.Fields(7)
txtCTime.Text = "0"
txtCMoney.Text = 0
Else
If Trim(mrcc.Fields(14)) = "臨時使用者" Then
txtCMoney = (CInt(Trim(txtCTime / 30 + 1)) * (Trim(mrc.Fields(1)) / 3))
txtCash = Trim(mrcc.Fields(7)) - txtCMoney.Text
mrcc.Fields(7) = txtCash.Text
mrcc.Update
Else
txtCMoney = (CInt(Trim(txtCTime / 30) + 1) * (Trim(mrc.Fields(0)) / 2))
txtCash = Trim(mrcc.Fields(7)) - txtCMoney.Text
mrcc.Fields(7) = txtCash.Text
mrcc.Update
End If
End If
If 1 < Val(Trim(mrcc.Fields(7))) And Val(Trim(mrcc.Fields(7))) < 3 Then
MsgBox Trim(mrcc.Fields(i)) & "號餘額不足,請及時充值!", 48, "提示"
Exit Sub
End If
If Trim(mrcc.Fields(7)) < 1 Then
MsgBox Trim(mrcc.Fields(i)) & "號餘額已用完,即將下機!", 48, "提示"
mrcc.Delete
z = z + 1
Exit Sub
End If
Next i
這樣功能就可以實現了,希望可以幫到你!