機房收費系統之新增和刪除使用者
阿新 • • 發佈:2018-12-16
前言
剛開始敲此窗體時,頭就開始暈了,因為覺得自己啥也不會,覺得這個還挺難的,其實主要還是抗拒產生難。不過還是應徵了魯迅先生說的那句話:有些路走著走著就有了。
流程
因為沒有拷流程圖,所以我基本上是手動輸入的。具體如下:使用者級別點選事件,連線資料庫,更新至MSFlexGrid1控制元件中------新增(新增使用者:連線user_info資料庫)----更新:連線資料庫,更新新增使用者裡的資訊到MSFlexGrid1控制元件中----刪除:MSFlexGrid1第一行,與及自己都不能刪除,連線user_info刪除資料庫
挫折
問題1:實時錯誤30015,不能刪除上一個非固定行 原因:在MSFlexGrid1控制元件中,未選定一行而出錯 解決:固定行的原因,把固定行由1改為了0,但總感覺不是這個固定行的問題,但是能運行了。 問題2:點選combtype並沒有資訊顯示出來 原因:此控制元件的click事件裡沒有新增程式碼,而是在更新裡寫了,所以點選更新才有 解決:為了一點選combtype控制元件就發生事件,我就在此控制元件中書寫了程式碼 問題3:添加里新增使用者成功後卻顯示不出來怎麼辦 原因:在更新裡沒有進行相關的書寫程式碼 解決:在更新裡書寫相應的程式碼 問題4:在新增使用者窗體中出現了不報錯,但就是新增不上資訊的現象 原因:程式碼邏輯問題 解決:if 語句end if 的關係 問題5:combtype設定為只讀後,不能清空 原因:只讀屬性出現text便會報錯 解決:在此控制元件的Keypress事件中,新增程式碼:keyascii = 0就可以了
知識點
MSFlexGrid1.Row,表格中的當前行 ,MSFlexGrid1.Col,表格中的當前列
MSFlexGrid1.RowHeight(1)=0 '隱藏第一行
MSFlexGrid1.colWidth(1)=0 '隱藏第一列
Set MSFlexGrid1.CellPicture = LoadPicture("f:\temp\snow.bmp") '在MSFlexGrid1控制元件的單元格中插入圖
MSFlexGrid1.SelectionMode=flexSelectionByRow '選中整行 MSFlexlGrid1.FocusRect = flexFocusNone '選中行顯示焦點框 MSFlexGrid1.HighLight = flexHighlightWithFocus '選中行突出顯示
MSFlexGrid1.RowHeight(0)=500 '行的寬度
MSFlexGrid1.colwidth(2)=2000 '列的寬度
程式碼展示
## combtype部分
txtsql = "select * from user_in where userID=' " & combtype.text & "'" set mrc = executsql(txtsql,msgtext) With MSFlexGrid1 .Rows =1 .CellAlignment=1 .TextMatrix(0,0) = "使用者名稱" .TextMatrix(0,1) = "姓名" .TextMatrix(0,2) = "開戶人" End with Do while not mrc.eof with MSFlexGrid1 .rows = .rows +1 .CellAlignment =4 .TextMatrix(.Rows-1,0)= mrc.Fields(0) .TextMatrix(.Rows-1,1) = mrc.Fields(3) .TexMatrix(.rows-1,2) = mrc.Fields(4) end with mrc.moveNext loop
## 刪除部分
With MSFlexGrid1
if MSFlexGrid1.Rowsel = 0 then '如果選中第一標題行,則提示沒選中內容
msgbox " 沒有選中內容 ", 48 ," 提示 "
exit sub
'超過第二行
if .rowsel > 0 then
if trim(.TextMatrix(.rowsel,0)) = username then '把username賦給trim(.textMatrix(.rowsel,0), 然後不能刪除自己
MSFlexGrid1.remobeItem MSFlexGrid1.rowsel '刪除MSFlexGrid1中被選中的行
## 載入窗體
with combtype
.additem "一般使用者"
.additem"管理員"
.additem"操作員"
end with
總結
困難是進步的階梯