1. 程式人生 > >【機房收費系統】--檢視學生上機狀態

【機房收費系統】--檢視學生上機狀態

   機房收費系統中檢視學生上機狀態窗體並不難,這個窗體可以檢視所有上機的學生,也可以讓他們下機。就在前幾天看了李光師哥的部落格,他說了這樣一個問題,機房有100名上機,我想讓16、29、45、78、92下機,我可以先把他們五個選中然後下機嗎?就是這種效果,在咱們用的一些軟體中,這樣的功能是常見的。
這裡寫圖片描述

   還是站在巨人的肩膀上,我理清了程式碼的思路,我們要將想要下機的學號勾選出來,放到一個數組裡,然後讓這個數組裡的卡號迴圈下機,並算清楚賬,更新相對應的表。

程式碼展示

    Dim mrc As ADODB.Recordset
    Dim mrcc As ADODB.Recordset
    Dim
mrccc As ADODB.Recordset Dim mrcccc As ADODB.Recordset Dim mrccccc As ADODB.Recordset Dim txtsql As String Dim msgtext As String Dim hanghao(9999) As String Dim i As Integer Dim SJ As Integer Dim j As Integer Dim XF As Integer Dim ontime As Variant If 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.Update Else 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, "提示"

   有了這樣的思路之後,在新增或刪除使用者窗體中也可以用這個方法做一下,效果如下
這裡寫圖片描述

   這個窗體帶程式碼就不展示了,程式碼的註釋不多,有興趣的小夥伴可以跟我私聊!!