我们在网吧上网的时候,每次卡里快没钱的时候就会提醒你去充值,如果不充值的话就强制下机了。我想机房收费系统也应该有这个功能吧,既然有这个想法,就要去做,我先从师哥师姐的博客入手,但是没有找到这个功能的思路,在从百度找一些相关资料,经过两天还是没有实现,就在昨天的师徒会上,我提到了这个问题。师父的一句话让我恍然大悟,可以利用数组。
代码思路
代码展示
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
这样功能就可以实现了,希望可以帮到你!