機房收費系統 上機

2021-10-06 10:13:42 字數 3705 閱讀 2322

還在敲學生資訊管理系統的時候,就被師哥師姐告知機房有點兒難,尤其是什麼上下機,動態顯示金額還有強制下機部分。所以開始機房收費系統之後,我就先把上下機這幾部分跳過了,等把別的窗體敲完除錯好之後,發現上下機中,實際上上機還是比較簡單的,就是邏輯性相對於其他窗體來說強一點,但是如果我們把上機的流程畫到圖上可能更清楚一些。

部分**展示:

邏輯流程

'查詢卡號是否存在

dim onsql as string

dim onmrc as adodb.recordset

dim onmsgtext as string

onsql = "select * from student_info where cardno='" & txtcardno.text & "'" '根據條件查詢

set onmrc = executesql(onsql, onmsgtext)

'判斷卡號是否存在

if onmrc.eof = false then

'如果存在,判斷是否已經退卡

'給cash賦值

cash = trim(onmrc.fields(7))

if trim(onmrc.fields(10)) = "使用" then

'沒有退卡

'判斷卡號是否正在上機

dim upsql as string

dim upmrc as adodb.recordset

dim upmsgtext as string

'查詢正在上機表

upsql = "select * from online_info where cardno='" & txtcardno.text & "'" '查詢指定使用者

set upmrc = executesql(upsql, upmsgtext)

'判斷使用者是已經上機

if upmrc.eof = false then

msgbox "此卡號已上機,請重新輸入卡號!", vbokonly + vbexclamation, "警告"

txtcardno.text = trim(onmrc.fields(0))

txtsid.text = trim(onmrc.fields(1))

txtdept.text = trim(onmrc.fields(4))

txtondate.text = trim(upmrc.fields(6))

txtbalance.text = trim(onmrc.fields(7))

txttype.text = trim(onmrc.fields(14))

txtname.text = trim(onmrc.fields(2))

txt***.text = trim(onmrc.fields(3))

txtontime.text = trim(upmrc.fields(7))

'顯示上機人數

dim txtsql, msgtext as string

dim onw1 as adodb.recordset '判斷卡號是否正在上機

txtsql = "select*from online_info"

set onw1 = executesql(txtsql, msgtext)

lbluser.caption = onw1.recordcount

onw1.closef

else

'呼叫baiscdata獲取limintcash

call baiscdata

'判斷cash是否大於limitcash

if cash > limitcash then

'顯示卡號資訊

txtcardno.text = trim(onmrc.fields(0))

txtsid.text = trim(onmrc.fields(1))

txtdept.text = trim(onmrc.fields(4))

txtondate.text = trim(date)

txtbalance.text = trim(onmrc.fields(7))

txttype.text = trim(onmrc.fields(14))

txtname.text = trim(onmrc.fields(2))

txt***.text = trim(onmrc.fields(3))

txtontime.text = trim(time)

lbluser.caption = upmrc.recordcount

txtctime.text = "" '每次登陸清空上次使用者登陸的消費時間和金額

txtcmoney.text = ""

onmrc.update

upmrc.close '關閉資料集

onmrc.close '關閉資料集

'更新oline表和line表

call online

else

'小於最小上機餘額,直接退出

msgbox "餘額小於,最小上機餘額!", vbokonly + vbexclamation, "警告"

exit sub

end if

end if

else

'已退卡

msgbox "卡號已經退卡,不可登入!", vbokonly + vbexclamation, "警告"

txtcardno.text = ""

txtcardno.setfocus

end if

else

msgbox "卡號不存在,請先註冊!", vbokonly + vbexclamation, "警告"

txtcardno.text = ""

txtcardno.setfocus

end if

更新正在上機online_info表

'更新正在上機表

dim onsql as string

dim onmrc as adodb.recordset

dim onmsgtext as string

'獲取正在上機表

onsql = "select * from online_info"

set onmrc = executesql(onsql, onmsgtext)

onmrc.addnew '新增新紀錄

onmrc.fields(0) = trim(txtcardno.text)

onmrc.fields(1) = trim(txttype.text)

onmrc.fields(2) = trim(txtsid.text)

onmrc.fields(3) = trim(txtname.text)

onmrc.fields(4) = trim(txtdept.text)

onmrc.fields(5) = trim(txt***.text)

onmrc.fields(6) = trim(date)

onmrc.fields(7) = trim(time)

onmrc.fields(8) = trim(computername)

onmrc.fields(9) = trim(date)

onmrc.update '更新

onmrc.close '關閉資料集

機房收費系統 上機

檢查乙個卡號能否使用,需要檢查以下幾點 只有這幾點同時滿足,此卡才能正常上機。1 當然不用多說,不輸入卡號當然不能使用。2 與要求的最小餘額進行比較,小於最小餘額則禁止上機使用 3 此卡沒用註冊,登錄檔中沒有這條記錄 4 次卡正在處於上機狀態,提示正在上機,一卡禁止重複上機使用 下面的這段 僅為借鑑...

機房收費系統 上機

上機在機房系統是至關重要的,只要捋清思路,把大問題分解成乙個個的小問題再去解決,困惑就自然迎刃而解了。來看看我的思路吧!片段 private sub cmdonline click dim txtsql as string dim msgtext as string dim mrc as adodb...

機房收費系統 上機

其實相比起下機,上機的功能相對簡單的多。我總結了一句話大概可以概括了上機的功能 讓賬戶裡錢夠的目前沒有上機的已經註冊過的使用者上機。關鍵點資料表 含義 賬戶裡的錢夠 student info 當使用者餘額高於最少錢數 目前沒有上機 online info online 表中不存在的使用者可上機 已經...