機房收費系統之退卡窗體

2021-08-25 09:24:51 字數 2593 閱讀 7952

該窗體的功能:退卡,並修改有關該卡的資訊表。

步驟:

1,判斷該卡是否已註冊(通過在學生資訊表中查詢該卡號的資訊),若未註冊提示資訊並退出。(此時不能退卡)

2,判斷該卡是否正在上機(通過在上機記錄表中查詢該卡號的上機狀態),若正在上機則提示資訊;若該卡沒有上過機則不進行操作。(此時不能退卡)

3,若滿足條件則執行退卡,將該卡的退卡記錄寫入到退卡資訊表中,然後顯示該卡的退卡資訊,並提示退卡成功。

4,退卡成功後要將該卡的學生資訊表中的使用狀態修改為「未使用」,結賬狀態修改為「未結賬」

(充值表中和退卡表中的結賬狀態不用改,因為學生資訊表中該卡號的資訊只有一條,若是它退卡時標記為「已結賬」,那麼等它再次啟用後,就沒有辦法對其進行結賬)

5,將該卡的餘額設為0(學生資訊表中的和最新餘額表中的餘額都得改)。

窗體**:

option explicit

'確定退卡金額

private sub cmdok_click()

dim strsql as string

dim msgstring as string

dim mrs as adodb.recordset

dim mrss1 as adodb.recordset

dim mrss2 as adodb.recordset

dim balance as single

dim number as string

if trim(txtcardno.text) = "" then

msgbox "卡號不能為空!", vbexclamation + vbokonly, "警告"

txtcardno.setfocus

call form_activate

exit sub

end if

'判斷是否註冊,若已註冊,則取出辦卡老師

strsql = "select * from studentinfo where cardno='" & trim(txtcardno.text) & "'"

set mrss1 = executesql(strsql, msgstring)

if mrss1.eof then

msgbox "該卡還沒有註冊!", vbexclamation + vbokonly, "警告"

txtcardno.setfocus

call form_activate

exit sub

else

if trim(cstr(mrss1.fields(9))) = "未使用" then

msgbox "該卡已登出!", vbexclamation + vbokonly, "警告"

txtcardno.setfocus

call form_activate

exit sub

end if

number = trim(mrss1.fields(1))

end if

'判斷該卡的上機狀態

strsql = "select * from onkeys where cardno='" & trim(txtcardno.text) & "'"

set mrss2 = executesql(strsql, msgstring)

if mrss2.eof then '若該卡沒有上過機,則什麼也不操作

mrss2.close

else

mrss2.movelast

if trim(mrss2.fields(10)) = "上機狀態" then

msgbox "該卡正在上機!", vbexclamation + vbokonly, "警告"

call form_activate

exit sub

end if

mrss2.close

end if

'清除文字框內容

txtcardno.text = ""

txtbackmoney.text = ""

unload me

exit sub

end sub

'初始化

private sub form_activate()

lblcardno.visible = false

lblmoney.visible = false

lbldate.visible = false

lbltime.visible = false

lblteacher.visible = false

'清除文字框內容

txtcardno.text = ""

txtbackmoney.text = ""

end sub

機房收費系統 退卡

具體思路如圖 如下 判斷卡號是否為空 if not testtxt txtcardno.text then msgbox 請輸入卡號 vbokonly vbexclamation,提示 txtcardno.setfocus exit sub end if 新建查詢 strsql select sta...

機房收費系統 退卡

做每個窗體之前最重要的是屢清思路,縷清思路的最好的方法就是畫流程圖,畫流程圖前要考慮做的窗體需要哪幾個表。退卡中,要判斷卡號是否存在肯定就用到了student表,退卡,肯定就用到了本身的退卡表,卡號需要判斷是否上機,這時就用到了on line正在上機表,如果在上機,就要先下機在退卡。流程圖 如下 p...

機房收費系統(二)之下機退卡

今天我又回顧了一下 機房管理系統,看見了我熟悉的花費了我三天才敲好的窗體 當然想了兩天 然後今天我就來總結一下下機退卡吧!第一句話是讓子窗體在父窗體中的框裡顯示!其他的然後就是定義函式名稱 然後接下來就是 呼叫函式,並計算上機時間的消費金額 接下來就是將 寫上資料庫中 寫完之後就關閉掉資料庫 整理思...