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 ...