機房收費系統 VB版 選擇下機

2021-08-17 04:49:15 字數 3509 閱讀 9516

今天實現機房收費系統——一般使用者——學生上機狀態檢視——選中全部/部分下機部分收穫很多!多虧了看光哥的部落格,寫的很清楚機房收費系統——上機狀態查詢之下機

要顯示的**式寫查詢,就會出來這樣子

private

sub 顯示全部_click()

dim txtsql as

string

dim msgtext as

string

dim mrc as adodb.recordset '作為的連線online_info表查詢的結果集

txtsql = "select cardno,studentno,ondate,ontime,computer from online_info"

set mrc = executesql(txtsql, msgtext)

if mrc.eof = true

then

msgbox "查詢到0條記錄", vbokonly + vbinformation, "提示!"

接著我們可以看到它的

要想實現選中的下機,首先把選中的記錄用乙個符號√來標識這條記錄!

這裡定義了兩個陣列,分別來儲存標識√的記錄它的行號學號

i=0  有√標識的記錄數目

forj=0 to .rows-1

if 符合√ then

記錄行號到陣列xh(s)

記錄學號到陣列sz(z)

i=i+1

endif

next j

'j是真實的**中的行數,通過標識√篩選遍歷一遍,將有√記錄的資訊記錄並保留到陣列中,並且將有記錄的行數計算出了

for z=0

to i-1 (0~i-1=i行,也就是由記錄的i行)

通過陣列引用乙個個的學號,學號是主鍵,查詢表得到記錄集

mrc3 basicdate_info

mrc4 studeng_info

mrc1 online_info

mrc2 line_info

z=z+1

next z

'通過這樣的一次遍歷查詢到資料庫中的每一條記錄

'因為選中的部分即將下機,引用這些記錄的資訊來進行結算帳目部分的計算!下機之前結賬完畢!

'將選中的學生的資料進行更新,消費時間,消費金額,正常下機等等!修改包括student表和line表

'最後從online_info表中刪除這些資訊

接著,非常奇妙的部分就是如何實現部分

這段選擇的**真的是非常的巧妙,本意按下滑鼠,選擇要下機的學生;

前提是顯示出來的資訊都是沒有選中的!在顯示全部後所有的資訊都是沒有選中的狀態!

在選的過程中:

按下滑鼠之前,假設是沒有選中的,按下後把它變為選中的狀態;

按下滑鼠之前,假設是選中的狀態,按下後把它變為沒有選中的狀態;【二次按下滑鼠就會需要這樣的機制】

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 = &hffff00

next col

endif

這部分的**是複製的,但我覺得寫得非常巧妙!

1.分析**,不會就一點一點測試

2.寫**而不是改**,學習一招致命。

3.把問題複雜化其實是了避免直接面都那麼難的問題,找到本質,就不難!

4.選擇單行msflexgrid或是單元格

mousecollong返回滑鼠游標的列座標位置

mouserowlong返回滑鼠游標的行座標位置

選中某個單元 

msflexgrid.row=1

msflexgrid.col=1

5. dim stokens() as string 『定義名為stokens字串(陣列)

dim stokens as string 『定義名為stokens字串

6.trim:刪除字串符的空格

trim$:去掉字串左右兩端的空格

機房收費系統 選擇下機

rem 對 控制項進行修改 private sub msflexgrid1 mousedown button as integer,shift as integer,x as single,y as single 獲取選中不連續行的許可權,及實現多行選中 dim col as integer if ...

機房收費系統 下機

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

機房收費系統 下機

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