機房收費系統 下機

2021-08-31 11:28:40 字數 3838 閱讀 9734

上下機是機房收費系統中比較重要的一部分,所以我們一定要把上下機的思路理清楚才可以,不然會很亂,一會兒就把自己繞進去了,現在我們一起分析一下下機的思路吧!

**片段:

判斷上下機的情況

private sub cmdoffline_click()

dim mrconline as adodb.recordset

dim mrconline2 as adodb.recordset

dim mrcstudent as adodb.recordset

dim mrcbasic as adodb.recordset

dim mrcline as adodb.recordset

dim mrcline2 as adodb.recordset

dim mrc as adodb.recordset

dim time1 as long

dim time2 as long

dim time3 as long

dim msgtext as string

dim txtsql1 as string

dim txtsql2 as string

dim txtsql3 as string

'消費時間

dim consumetime as string

'連線表

txtsql2 = "select * from basicdata_info" '從資料表中獲取基本資料

set mrcbasic = executesql(txtsql2, msgtext)

txtsql3 = "select * from student_info where cardno='" & trim(txtcardno.text) & "'and status='" & "使用" & "'" '得出餘額

set mrcstudent = executesql(txtsql3, msgtext)

if txtcardno.text = "" then

msgbox "請輸入卡號!", 0 + 48, "警告"

else

'判斷此卡是否已經下機

txtsql1 = "select * from online_info where cardno= '" & trim(txtcardno.text) & "'"

set mrconline = executesql(txtsql1, msgtext)

if mrconline.eof = true then

msgbox "沒有上機"

else

'從online_info資料表中獲取資料到下機介面

txtsid.text = mrconline.fields(2)

txtdept.text = mrconline.fields(4)

txttype.text = mrconline.fields(1)

txtname.text = mrconline.fields(3)

txt***.text = mrconline.fields(5)

txtondate.text = mrconline.fields(6)

txtoffdate.text = date

txtontime.text = mrconline.fields(7)

txtofftime.text = time

計算消費時間和消費金額

'計算上機時間

consumetime = abs(val(datediff("n", trim(mrconline!date), now))) '把日期差轉換成分鐘

'判斷是否小於準備時間

txtctime.text = consumetime

mrconline.update

if consumetime < mrcbasic.fields(4) then

txtcmoney.text = "0"

txtctime.text = "0"

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

else

'判斷是否小於最小上機時間

'判斷消費時間小於最小上機時間時消費金額為1

if consumetime > mrcbasic!leasttime then

txtcmoney.text = "1" '消費金額為1元

txtbalance.text = val(mrcstudent.fields(7)) - val(txtcmoney.text)

else

if mrconline.fields(1) = "固定使用者" then

txtcmoney.text = round((mrcbasic.fields(0) / 60 * consumetime)) 'cdbl將時間轉換成double型別,round是將資料四捨五入,保留兩位小數

txtbalance.text = val(mrcstudent.fields(7)) - val(txtcmoney.text)

else

txtcmoney.text = round((mrcbasic.fields(1) / 60 * consumetime)) '計算臨時使用者金額

txtbalance.text = val(mrcstudent.fields(7)) - val(txtcmoney.text)

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

mrcstudent.fields(11) = "未結賬"

mrcstudent.update

txtctime.text = consumetime

end if

end if

end if

end if

end if

更新記錄txtsql = 「select * from line_info where ontime=』」 & trim(txtontime.text) & 「『and cardno=』」 & trim(txtcardno.text) & 「』」

set mrcline2 = executesql(txtsql, msgtext)

if mrcline2.eof = true then

msgbox "該使用者沒有上機記錄,請退出!", 0 + 46, "提示"

else

mrcline2.fields(8) = date

mrcline2.fields(9) = time

mrcline2.fields(10) = trim(txtctime.text)

mrcline2.fields(11) = val(txtcmoney.text)

mrcline2.fields(12) = val(txtbalance.text)

mrcline2.fields(13) = "正常下機"

mrcline2.update

mrcline2.movenext

msgbox "下機成功", 0 + 48, "提示"

mrconline.delete

mrconline.update

end if

以上內容就是上下機的具體**!上下機是機房的核心部分,也是最關鍵的部分,所以一定要一次性的把它做好,不然後期優化還會再找麻煩的,下機一般不同的人有不同的寫法, 以下是我遇到的兩個思路:

機房收費系統 下機

有了上機的思路,下機當然也就很簡單了,不過總是要比別人多想一步,這樣你就能夠比別人更加的優秀。下機的流程圖 下機的注意事項 txtontime.text trim mrc3.fields 7 txtdowndate.text format now yyyy mm dd txtdowntime.tex...

機房收費系統 下機

計算消費時間 計算上機時間 intlinetime date datevalue onw ondate 1440 hour time hour timevalue onw ontime 60 minute time minute timevalue onw ontime 計算機上機時間 txtcti...

機房收費系統 上下機

最近大家都在進行機房收費系統,看大家的部落格,基本上都是先理清思路再實現功能,回想自己當時做的時候就不夠好,只是盲目的敲 卻忽略了方向比努力更重要這個道理,導致最後出現了很多漏洞,於是又重新畫了一遍上下機的流程圖,希望能對以後機房的學習有幫助。上機 只要思路清晰,具體的 實現很簡單。下機 下機需要計...