考慮到第一次機房上機系統一次開啟系統,只能登陸三次,當然每次提示的內容是不一樣的。並且根據不同的身份,會出現不同許可權。
我的想法是在登陸窗體進行登陸和登陸次數的驗證,在主窗體中判斷身份,進行許可權的判斷。
注意:登陸窗體的**
private sub cmdok_click()
'判斷使用者名稱是否為空
micount = micount + 1
username = trim(txtid.text)
'判斷登入名不能為空
if not texttxt(txtid.text) then
select case micount
case is = 1
msgbox "使用者名稱不能為空!" & vbcr & "您還有兩次次機會!", vbokonly + vbexclamation, "警告"
case is = 2
msgbox "使用者名稱不能為空!" & vbcr & "您還有一次次機會!", vbokonly + vbexclamation, "警告"
case is = 3
msgbox "使用者名稱不能為空!", vbokonly + vbexclamation, "警告"
endend select
exit sub
txtusername.setfocus
else
'連線資料庫
txtsql = "select *from user_info where userid='" & txtid.text & "'"
set mrc = executesql(txtsql, msgtext)
'判斷是否有該使用者
if mrc.eof and mrc.bof then
' msgbox "沒有這個使用者,請重新輸入!", vbokonly + vbexclamation, "警告"
select case micount
case is = 1
msgbox "沒有這個使用者,請重新輸入!" & vbcr & "您還有兩次次機會!", vbokonly + vbexclamation, "警告"
case is = 2
msgbox "沒有這個使用者,請重新輸入!" & vbcr & "您還有一次次機會!", vbokonly + vbexclamation, "警告"
case is = 3
msgbox "沒有這個使用者,請重新輸入!", vbokonly + vbexclamation, "警告"
endend select
txtid.text = ""
txtpassword.text = ""
txtid.setfocus
else
'如果有,判斷密碼是否正確
if trim(txtpassword.text) = trim(mrc.fields(1)) then
'進入系統
frmmain.show
exit sub
else
'密碼錯誤,給予提示
txtpassword.text = ""
txtpassword.text = ""
txtpassword.setfocus
select case micount
case is = 1
msgbox "密碼錯誤!" & vbcr & "您還有兩次次機會!", vbokonly + vbexclamation, "警告"
case is = 2
msgbox "密碼錯誤!" & vbcr & "您還有一次次機會!", vbokonly + vbexclamation, "警告"
case is = 3
msgbox "密碼錯誤,請重新登陸!", vbokonly + vbexclamation, "警告"
endend select
end if
end if
end if
end sub
注意:主窗體的**
private sub mdiform_load()
'顯示當前時間
dim mrc as adodb.recordset '用來存放記錄集物件
dim txtsql$ '用來存放sql語句
dim msgtext$ '用來存放返回資訊
'連線資料庫
txtsql = "select*from user_info where userid='" & username & "'"
set mrc = executesql(txtsql, msgtext)
level = trim(mrc.fields(2))
'將資訊新增到工作表中
txtsql = "select *from worklog_info "
set mrc_wlog = executesql(txtsql, msgtext)
mrc_wlog.addnew
mrc_wlog.fields(1) = trim(username) '操作的老師
mrc_wlog.fields(2) = level
mrc_wlog.fields(3) = format(date, "yyyy-mm-dd")
mrc_wlog.fields(4) = format(time, "hh:mm:ss")
mrc_wlog.fields(5) = null
mrc_wlog.fields(6) = null
mrc_wlog.fields(7) = getthiscomputername
mrc_wlog.fields(8) = "true"
mrc_wlog.update
serial = mrc_wlog.fields(0)
mrc_wlog.close
'判斷是否具有管理員許可權
if (trim(mrc.fields(2))) = "管理員" then
operator.enabled = true
administrator.enabled = true
mrc.close '關閉資料庫
exit sub
end if
'判斷是否具有操作員許可權
if (trim(mrc.fields(2))) = "操作員" then
operator.enabled = true
mrc.close '關閉資料庫
exit sub
end if
'將資訊新增到工作表中
txtsql = "select *from worklog_info "
set mrc_wlog = executesql(txtsql, msgtext)
mrc_wlog.addnew
mrc_wlog.fields(1) = trim(username) '操作的老師
mrc_wlog.fields(2) = level
mrc_wlog.fields(3) = format(date, "yyyy-mm-dd")
mrc_wlog.fields(4) = format(time, "hh:mm:ss")
mrc_wlog.fields(5) = ""
mrc_wlog.fields(6) = ""
mrc_wlog.fields(7) = getthiscomputername
mrc_wlog.fields(8) = "true"
mrc_wlog.update
mrc_wlog.close
end sub
這種方式就是**比較多,比較繁瑣,但是基本功能實現了,如果您有更好的方式,期待您的分享! 第一次機房收費系統 登陸窗體
前言 不管是學生還是機房,敲的第乙個窗體都是登入,這兩個學習專案有很大的相同點,學生有原始碼,機房卻沒有,需要搞清楚裡邊的邏輯,問題也就迎刃而解了。下面是我畫的機房的流程圖 如下 option explicit private declare function getusername lib adv...
第一次機房收費系統之登陸窗體
3.executesql函式 和 call 呼叫 executesql他是一種自定義函式,是odbc中的乙個api函式,用來執行由sqlprepare建立的sql語句。一般只要是查詢資料表就會用到這個函式,他後面一般還加兩個引數txtsql和msgtext。今天我們就來看看這三個單詞在資料庫語言中的...
第一次機房之上機
上機的基本思路就是,先查詢卡號是否存在,是否已經上機,如果符合要求就新增上機記錄和上機狀態,這個還是比較簡單的,不是特別的複雜 dim mrc1 as adodb.recordset 用來儲存online info 的sql語句 dim txtsql1 as string 用來接收返回的結果 if ...