機房收費系統之上 下機

2021-09-09 08:04:18 字數 4934 閱讀 8241

上機:判斷(卡號是否為空,是否已註冊,是否已退卡,餘額是否充足,是否正在上機)—調動學生資訊到輸入框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...

機房收費系統 之上下機

機房從開始到結束用了將近乙個半月。具體用了多少個番茄我也不清楚了。只覺得這個過程既煎熬又快樂。現在回頭想想自己都不敢相信自己完成了這個曾經畏懼到不行的專案。可能真的是這樣吧。你的潛力連你自己都不會清楚,只要按照計畫一步一步的來,當你有一天回頭的時候,你才會發現,自己已經離山頂不遠了。有的時候可能我們...

機房收費系統 之 上下機

我的上下機可以說是機房收費系統的最後的一部分。在敲上下機之前自己沒有去理一理思路,使用者是怎樣上機的又是怎樣下機的,只是聽他們說比較難,所以有一點點畏懼的心理,所以一直拖延到了最後。其實,當自己靜下心來思考的時候,也沒有那麼難,最最主要的要有自己的思考。下面是我對於上下機的流程圖分析 下面是上機按鈕...