1. 程式人生 > >機房收費系統之新增和刪除使用者

機房收費系統之新增和刪除使用者

前言

 剛開始敲此窗體時,頭就開始暈了,因為覺得自己啥也不會,覺得這個還挺難的,其實主要還是抗拒產生難。不過還是應徵了魯迅先生說的那句話:有些路走著走著就有了。

流程

因為沒有拷流程圖,所以我基本上是手動輸入的。具體如下:使用者級別點選事件,連線資料庫,更新至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

總結

困難是進步的階梯