「新增和刪除使用者」這個窗體看起來並不難,但是還是要注意一些細節的。昨天被小夥伴安利了乙個做流程圖的網頁,在敲**之前畫一畫流程圖確實可以讓自己的邏輯更加清晰☟☟☟
實時錯誤『91』
物件變數或with塊變數未設定
想必這個錯誤大家再熟悉不過了,但是這次一開始我真的不知道錯在哪兒,後來通過師哥的部落格發現:原來在模組中有限制如果有insert、delect、update語句,則會執行錯誤型別判斷語句,查詢錯誤。
決絕辦法:將delect刪除掉就可以啦~
大家有沒有想過乙個問題:如果在這個窗體中將所有的使用者都刪除掉之後,我們再登入我們打包發布的系統豈不是怎樣都登入不成功?然而解決這個問題的方法也很簡單,僅需要在資料庫的user_info表中新增乙個刪除不掉的資料,或者說查詢的時候可以查詢排除這條資料之外的所有內容。例如:
在上圖中我在資料表中插入了一條資料(框框中),為了避免這個使用者不被刪除,在select查詢時,可以寫成以下這樣:
txtsql = "select * from user_info where level='" & trim(combolevel.text) & "'" & "and userid <> '00' "
部分**展示:
private sub cmddelete_click()
dim txtsql as string
dim msgtext as string
dim mrc as adodb.recordset
'在資料庫對應的表中刪除所選中的幾行中的內容
'在資料庫中查詢對應資料
txtsql = "select * from user_info where userid='" & trim(msflexgrid1.textmatrix(msflexgrid1.rowsel, 0)) & "'"
set mrc = executesql(txtsql, msgtext)
'判斷是否選中了網格控制項中需要設定的起始行
'選中一行刪除,要考慮到第一行(表頭)不能刪除
with msflexgrid1
if .rowsel = 0 then '起始行
'rowsel設定或返回乙個範圍的單元格的起始行或終止行
'colse為一定範圍的單元格返回或設定的起始列和終止列
msgbox "請選擇資料", vbokonly + vbexclamation, "提示"
exit sub
else
if .rowsel > 0 then
'判斷選中級別使用者是否為空
if mrc.eof then
msgbox "該級別使用者為空,沒有可刪除的物件!", 48, "提示"
exit sub
else
'判斷使用者是否在登入
if trim(msflexgrid1.textmatrix(msflexgrid1.rowsel, 0)) = username then
msgbox "該使用者正在登陸,不能刪除", vbokonly + vbexclamation, "警告"
exit sub
else
'刪除資料庫中與選中的行一直的資料(刪除查詢資料庫)
mrc.delete
'msflexgrid1.removeitem msflexgrid1.rowsel '刪除選中的行
msgbox "使用者已經刪除", 48, "恭喜"
end if
end if
end if
end if
end with
end sub
機房收費系統 新增刪除使用者窗體
新增刪除使用者這個視窗看起來並不是太難,但是還是有一些細節需要注意的。首先,要設定myflexgrid控制項的屬性,因為我們刪除使用者時要求選中一整條記錄,而不是單個乙個,這就要用到下面的 myflexgrid.selectionmode flexselectionbyrow 單擊的時候選擇的是整行...
機房收費系統 VB版 新增和刪除使用者
功能 新增刪除各種使用者 包括 管理員,操作員,一般使用者 新增按鈕的邏輯 1.判斷是否將所有資訊正確填寫完畢 2.判斷是否這個使用者已存在,需要呼叫user info查詢是否有匹配項,存在則提醒,不存在就注入sql.刪除按鈕的邏輯 刪除使用者就是顯示出此型別使用者,選中要刪除的使用者。有三點注意的...
機房收費系統之使用者登入
機房敲了乙個半月了,之前總是一直修改,需要好好的總結一下,首先是登陸窗體。登陸窗體 問題及重點 1.問題1實時錯誤 3704 物件關閉時,不允許操作 出現這個問題是因為前面寫了 mrc.close導致後面mrc1呼叫mrc資料集裡面的內容時無法呼叫。trim函式用來刪除乙個字串的字頭或字尾,刪除字串...