機房收費系統 選擇下機

2021-09-02 01:32:16 字數 3006 閱讀 8365

rem: 對**控制項進行修改

private sub msflexgrid1_mousedown(button as integer, shift as integer, x as single, y as single)

'獲取選中不連續行的許可權,及實現多行選中

dim col as integer

if msflexgrid1.textmatrix(msflexgrid1.row, 5) = "√" then

msflexgrid1.textmatrix(msflexgrid1.row, 5) = ""

'改變行顏色(變為沒選中之前的)

for col = 0 to msflexgrid1.cols - 1

msflexgrid1.col = col

msflexgrid1.cellbackcolor = vbwhite

next col

else

msflexgrid1.textmatrix(msflexgrid1.row, 5) = "√"

'改變行顏色(選中後的顏色)

for col = 0 to msflexgrid1.cols - 1

msflexgrid1.col = col

msflexgrid1.cellbackcolor = vbblue

next col

end if

end sub

rem: 選擇下機按鈕

private sub cmdsome_click()

'目標儲存

dim sz(9999) as string '定義陣列作為容器,儲存選中的卡號

dim xh(9999) as string '用來儲存選中卡號的行號

'儲存目標要用的儲存

dim z as integer '儲存目標行用的變數,與資料庫聯絡

dim i, j as integer '**的行列變數

dim s as integer '儲存目標行號用到的變數,與**聯絡

strsql2 = "select * from basicdata_info " '鏈結basicdata表

set mrc2 = executesql(strsql2, msgstring)

'上機表

strsql_online = "select * from online_info "

set mrc_online = executesql(strsql_online, msgstring)

if mrc_online.eof then

msgbox "當前無上機人員!", , "提示"

else

with msflexgrid1

'篩選。記錄選中下機的卡號,進行√標記,將目標存入陣列,上機卡號唯一,可以唯一標識

i = 0

for j = 1 to .rows - 1

if .textmatrix(j, 5) = "√" then

sz(i) = .textmatrix(j, 0) '存卡號

xh(i) = val(j)

i = i + 1

end if

next j

'刪除、更新。通過z連線資料庫盡心迴圈檢索處理

for z = 0 to i - 1

txtsql_line = "select * from line_info where cardno='" & sz(z) & "'and status='正常上機'"

set mrc_line = executesql(txtsql_line, msgstring)

mdimain.cmdxiaji.enabled = true

'line表時間補全

do while mrc_line.eof = false

mrc_line.fields(8) = date

mrc_line.fields(9) = time$

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

mrc_line.fields(14) = trim(vba.environ("computername"))

costdate = datediff("n", mrc_line.fields(6), mrc_line.fields(8))

costtime = datediff("n", mrc_line.fields(7), mrc_line.fields(9))

mrc_line.fields(10) = (val(costdate) + val(costtime)) + 1

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

mrc_line.fields(11) = format(mrc_line.fields(10) / mrc2.fields(2) * mrc2.fields(0), "0.00")

else

mrc_line.fields(11) = format(mrc_line.fields(10) / mrc2.fields(2) * mrc2.fields(1), "0.00")

mrc_line.fields(12) = mrc_line.fields(12) - mrc_line.fields(11)

end if

mrc_line.movenext

loop

'更新表online_info

txtsql_online = "delete online_info where cardno='" & sz(z) & "'"

set mrc = executesql(txtsql_online, msgstring)

next z

'更新**

for s = 0 to i - 1

.removeitem xh(s)

next s

'主窗體在上機人數更新

call updatenum

msgbox "操作完成!", , "提示"

end with

end if

end sub

第一次機房收費系統 選擇下機

選擇機房的思路是先將表控制項中的檔案進行的標記,對選擇的卡號做標記,進行選擇下機操作後,要判斷是否存在做標記的卡號,將卡號一次賦值與變數,當前卡號下機完成後,將表中本條記錄刪除,判斷表中是否還存在做標記的卡號,有,則繼續進行下機操作,直到無記錄,顯示下機成功。機房選擇下機順序 msgbox 沒有學生...

機房收費系統 下機

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

機房收費系統 下機

上下機是機房收費系統中比較重要的一部分,所以我們一定要把上下機的思路理清楚才可以,不然會很亂,一會兒就把自己繞進去了,現在我們一起分析一下下機的思路吧!片段 判斷上下機的情況 private sub cmdoffline click dim mrconline as adodb.recordset ...