机房收费系统中查看学生上机状态窗体并不难,这个窗体可以查看所有上机的学生,也可以让他们下机。就在前几天看了李光师哥的博客,他说了这样一个问题,机房有100名上机,我想让16、29、45、78、92下机,我可以先把他们五个选中然后下机吗?就是这种效果,在咱们用的一些软件中,这样的功能是常见的。


   还是站在巨人的肩膀上,我理清了代码的思路,我们要将想要下机的学号勾选出来,放到一个数组里,然后让这个数组里的卡号循环下机,并算清楚账,更新相对应的表。

代码展示
Dim mrc As ADODB.Recordset Dim mrcc As ADODB.Recordset Dim mrccc As
ADODB.RecordsetDim mrcccc As ADODB.Recordset Dim mrccccc As ADODB.Recordset Dim
txtsql AsString Dim msgtext As String Dim hanghao(9999) As String Dim i As
IntegerDim SJ As Integer Dim j As Integer Dim XF As Integer Dim ontime As
VariantIf MSFlexGrid1.RowSel = 0 Then MsgBox "请选择数据!", 48, "警告" Exit Sub End If
txtsql ="select * from basicdata_info " Set mrccc = ExecuteSQL(txtsql, msgtext)
With MSFlexGrid1 For j = 0 To .Rows - 1 i = 0 If j > .Row Then Exit Sub End If
If .TextMatrix(j, 5) = "√" Then hanghao(i) = j txtsql = "select * from
online_info where cardno = '" & Trim(MSFlexGrid1.TextMatrix(Val(j), 0)) & "'"
Set mrc = ExecuteSQL(txtsql, msgtext) txtsql = "select * from student_info
where cardno = '" & Trim(MSFlexGrid1.TextMatrix(Val(j), 0)) & "'" Set mrcc =
ExecuteSQL(txtsql, msgtext) SJ =0: XF = 0: ontime = "" SJ = Abs(Val(DateDiff("n"
,Time, Trim(mrc.Fields(7))))) If SJ < Trim(mrccc.Fields(3)) Then Else If Trim
(mrcc.Fields(14)) = "临时用户" Then XF = (CInt(Trim(SJ) / 30 + 1)) * (Trim
(mrccc.Fields(1)) / 3) mrcc.Fields(7) = Val(Trim(mrcc.Fields(7))) - XF
mrcc.UpdateElse XF = (CInt(Trim(SJ) / 30) + 1) * (Trim(mrccc.Fields(0)) / 2)
mrcc.Fields(7) = Val(Trim(mrcc.Fields(7))) - XF mrcc.Update End If End If
ontime = mrc.Fields(7) mrc.Delete mrc.Update mrc.Close
frmMain.lblPeople.Caption = Val(frmMain.lblPeople.Caption) -1 txtsql = "select
* from line_info where ontime = '" & ontime & "'" Set mrcccc =
ExecuteSQL(txtsql, msgtext) txtsql = txtsql & Text1.Text &" " & " cardno = '" &
Trim(MSFlexGrid1.TextMatrix(Val(j), 0)) & "'" Set mrccccc = ExecuteSQL(txtsql,
msgtext) mrcccc.Fields(8) = Date mrcccc.Fields(9) = Time mrcccc.Fields(10) = SJ
mrcccc.Fields(11) = XF mrcccc.Fields(12) = mrcc.Fields(7) mrcccc.Fields(13) =
"正常下机" mrcccc.Update MSFlexGrid1.TextMatrix(Val(j), 5) = ""
MSFlexGrid1.RemoveItem hanghao(i) j = j -1 End If Next j End With MsgBox "下机成功",
48, "提示"
   有了这样的思路之后,在添加或删除用户窗体中也可以用这个方法做一下,效果如下


   这个窗体带代码就不展示了,代码的注释不多,有兴趣的小伙伴可以跟我私聊!!

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信