上機:判斷(卡號是否為空,是否已註冊,是否已退卡,餘額是否充足,是否正在上機)—調動學生資訊到輸入框i----資料同步到online_info表中—同步到line_info表中
下機:判斷—計算消費金額—計算餘額—餘額更新到student_info表中----刪除line_info表中的資訊—更新line_info表—更新online_info
rem:上機
'上機時將上機卡的資料同步至online_info表中
set mrconline = new adodb.recordset
onlinesql = "select * from online_info"
set mrconline = executesql(onlinesql, msgtext)
mrconline.addnew
mrconline.fields(0) = trim(txtcardno.text)
mrconline.fields(1) = trim(txttype.text)
mrconline.fields(2) = trim(txtstudentno.text)
mrconline.fields(3) = trim(txtname.text)
mrconline.fields(4) = trim(txtdepartment.text)
mrconline.fields(5) = trim(combo***.text)
mrconline.fields(6) = trim(txtondate.text)
mrconline.fields(7) = trim(txtontime.text)
mrconline.fields(8) = trim(vba.environ("computer"))
lblamount.caption = mrconline.recordcount + 1 '顯示上機人數
mrconline.update
mrconline.close
'上機時將資料同步到line_info表中
set mrcline = new adodb.recordset
linesql = "select * from line_info"
set mrcline = executesql(linesql, msgtext)
mrcline.addnew
mrcline.fields(1) = trim(txtcardno.text)
mrcline.fields(2) = trim(txtstudentno.text)
mrcline.fields(3) = trim(txtname.text)
mrcline.fields(4) = trim(txtdepartment.text)
mrcline.fields(5) = trim(combo***.text)
mrcline.fields(6) = trim(txtondate.text)
mrcline.fields(7) = trim(txtontime.text)
mrcline.fields(13) = "正常上機"
mrcline.fields(13) = trim(vba.environ("computer"))
mrcline.update
mrcline.close
msgbox "上機成功", 48, ""
rem:下機
ontime = mrconline.fields(7)
offtime = format(now(), "yyyy-mm-dd h:mm:ss") '獲取下機時間日期格式
linetime = val(datediff("n", ontime, offtime)) '計算上機時間 n代表返回的分鐘,datediff返回乙個指定兩個特定日期之間的時間段數目的 variant (long)。
'計算消費金額
basicdatasql = "select * from basicdata_info"
set mrcbasicdata = executesql(basicdatasql, msgtext)
'消費時間小於準備時間,則金額為0
if trim(linetime) < val(trim(mrcbasicdata.fields(4))) then
txtconsume.text = 0
txtconsumetime.text = 0
else
' txtconsume.text = val(consumetime) - val(mrcbasicdate.fields(4))
txtconsumetime.text = linetime
if trim(txttype.text) = "固定使用者" then
txtconsume.text = format(linetime / mrcbasicdata.fields(2) * mrcbasicdata.fields(0), "0.00")
else
txtconsume.text = format(linetime / mrcbasicdata.fields(2) * mrcbasicdata.fields(1), "0.00")
end if
stusql = "select * from student_info"
set mrcstu = executesql(stusql, msgtext)
'計算餘額
txtcash.text = val(mrcstu.fields(7)) - val(trim(txtconsume.text))
'將餘額更新到student表中
mrcstu.fields(7) = val(trim(txtcash.text))
mrcstu.update
mrcstu.close
end if
'刪除line表中的資訊
linesql = "select * from line_info"
set mrcline = executesql(linesql, msgtext)
' on error goto 1:
'' mrcline.movefirst
' call viewdate
'' mybookmark = mrcline.bookmark '對當前記錄進行標記
' mcclean = true '可編輯狀態
if mrcline.eof and mrcline.bof then
msgbox "無記錄"
exit sub
else
mrcline.delete
mrcline.update
mrcline.close
end if
'更新line表
linesql = "select * from line_info where cardno='" & txtcardno.text & "'"
set mrcline = executesql(linesql, msgtext)
with mrcline
.addnew
.fields(1) = trim(txtcardno.text)
.fields(2) = trim(txtstudentno.text)
.fields(3) = trim(txtname.text)
.fields(4) = trim(txtdepartment.text)
.fields(5) = trim(combo***.text)
.fields(6) = mrconline!ondate
.fields(7) = mrconline!ontime
.fields(8) = trim(txtoffdate.text)
.fields(9) = trim(txtofftime.text)
.fields(10) = trim(txtconsumetime.text)
.fields(11) = trim(txtconsume.text)
.fields(12) = trim(txtcash.text)
.fields(13) = "正常上機"
.fields(14) = trim(vba.environ("computer"))
' !computer = vba.environ("computer")
' !offdate = trim(txtoffdate.text)
' !offtime = trim(txtofftime.text)
' !consumetime = trim(txtconsumetime.text)
'' !cash = trim(txtcash.text)
' !status = "正常上機"
.update
.close
end with
'更新online表
mrconline.delete
mrconline.update
mrconline.close
rem:顯示上機人數
'顯示正在上機人數
onlinesql = "select * from online_info"
set mrconline = executesql(onlinesql, msgtext)
if mrconline.eof then
lblamount.caption = 0
else
lblamount.caption = mrconline.recordcount
end if
發現的源動力來自不將就 機房收費系統之上下機
之前做完就一直沒有整理部落格。最後關頭,還是好好的總結一下。就可以開始新的征程了。查bsicdate 是否已經進行了基本資料設定。查student,學生是否存在,是否餘額足夠。查online 是否正在上機。符合上機條件後,在主窗體中顯示資訊。同時新增記錄到online 中。上機人數 1.通過onli...
機房收費系統 之上下機
機房從開始到結束用了將近乙個半月。具體用了多少個番茄我也不清楚了。只覺得這個過程既煎熬又快樂。現在回頭想想自己都不敢相信自己完成了這個曾經畏懼到不行的專案。可能真的是這樣吧。你的潛力連你自己都不會清楚,只要按照計畫一步一步的來,當你有一天回頭的時候,你才會發現,自己已經離山頂不遠了。有的時候可能我們...
機房收費系統 之 上下機
我的上下機可以說是機房收費系統的最後的一部分。在敲上下機之前自己沒有去理一理思路,使用者是怎樣上機的又是怎樣下機的,只是聽他們說比較難,所以有一點點畏懼的心理,所以一直拖延到了最後。其實,當自己靜下心來思考的時候,也沒有那麼難,最最主要的要有自己的思考。下面是我對於上下機的流程圖分析 下面是上機按鈕...