該窗體的功能:退卡,並修改有關該卡的資訊表。
步驟: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...
機房收費系統(二)之下機退卡
今天我又回顧了一下 機房管理系統,看見了我熟悉的花費了我三天才敲好的窗體 當然想了兩天 然後今天我就來總結一下下機退卡吧!第一句話是讓子窗體在父窗體中的框裡顯示!其他的然後就是定義函式名稱 然後接下來就是 呼叫函式,並計算上機時間的消費金額 接下來就是將 寫上資料庫中 寫完之後就關閉掉資料庫 整理思...