邏輯很重要,慢慢縷。流程圖與**如下:
private sub cmdok_click() '用來存放sql語句
'連線user表
dim txtsql as string '用來存放記錄集物件
dim mrc as adodb.recordset '用來存放返回資訊
dim msgtext as string
'連線worklog
dim txtsql2 as string '用來存放記錄集物件
dim mrc2 as adodb.recordset '用來存放返回資訊
dim msgtext2 as string
'連線onwork
dim txtsql3 as string '用來存放記錄集物件
dim mrc3 as adodb.recordset '用來存放返回資訊
dim msgtext3 as string
username = "" '判斷輸入使用者名稱是否為空
if trim(txtusername.text = "") then
txtusername.text = ""
txtpassword.text = ""
txtusername.setfocus
else '查詢指定使用者名稱的記錄
'txtsql = "select * from user_info where user_id = '" & txtusername.text & "'"
txtsql = "select * from user_info where userid = '" & txtusername.text & "'"
'執行查詢語句
set mrc = executesql(txtsql, msgtext)
if mrc.eof = true then
msgbox "沒有這個使用者,請重新輸入使用者名稱!", vbokonly + vbexclamation, "警告"
txtusername.text = ""
txtpassword.text = ""
txtusername.setfocus
else '判斷輸入密碼是否正確
if trim(mrc.fields(1)) = trim(txtpassword.text) then
if mrc.fields(2) = "一般使用者" then
'判斷使用者級別
frmmain.generauser.enabled = true
frmmain.operator.enabled = false
frmmain.administrator.enabled = false
ok = true
me.hide
frmmain.show
username = trim(txtusername.text)
end if
if mrc.fields(2) = "操作員" then
'判斷使用者級別
frmmain.generauser.enabled = true
frmmain.operator.enabled = true
frmmain.administrator.enabled = false
ok = true
me.hide
frmmain.show
username = trim(txtusername.text)
end if
if mrc.fields(2) = "管理員" then
'判斷使用者級別
frmmain.generauser.enabled = true
frmmain.operator.enabled = true
frmmain.administrator.enabled = true
ok = true
me.hide
frmmain.show
username = trim(txtusername.text)
end if
'將登陸記錄寫入worklog表中
txtsql2 = "select * from worklog_info"
set mrc2 = executesql(txtsql2, msgtext2)
mrc2.addnew
mrc2.fields(1) = mrc.fields(0) 'userid
mrc2.fields(2) = mrc.fields(2) '級別
mrc2.fields(3) = date '上線日期
mrc2.fields(4) = time '上線時間
mrc2.fields(7) = trim(vba.environ("computername")) '電腦名稱
mrc2.fields(8) = true '判斷正常下線
' 將登入記錄寫入onwork表中
txtsql3 = "select * from onwork_info"
set mrc3 = executesql(txtsql3, msgtext3)
mrc3.addnew
mrc3.fields(0) = mrc.fields(0) 'userid
mrc3.fields(1) = mrc.fields(2) '級別
mrc3.fields(2) = date '上機時間
mrc3.fields(3) = time '下機時間
mrc3.fields(4) = trim(vba.environ("computername")) '電腦名稱
mrc2.update
xx = mrc2.fields(0)
mrc2.close
mrc3.update
mrc3.close
mrc.close
else
msgbox "輸入密碼不正確,請重新輸入!", vbokonly + vbexclamation, "警告"
txtpassword.setfocus
txtpassword.text = ""
end if
end if
end if
'記載輸入密碼不正確
micount = micount + 1
if micount = 2 then
end if
if micount = 3 then
endend if
end sub
第一次機房收費系統優化 登入窗體
一 重點 這個窗體增加了判斷使用者的類別 操作員 一般使用者 管理員 二 控制項優化 label為空白 label1.backstyle 0 command新增 1 將command控制項的style設定為1 graphical 2 在command控制項的picture中,點瀏覽,選擇一張。三 優...
第一次機房收費系統 「登入」
前言 說到登入我為啥,會寫登入呢,按說不就個登入嗎,怎麼簡單的東西有必要寫一篇部落格總結嗎,有必要!非常有必要 因為就在剛開始的時候這個非常簡單的東西讓我,整整的卡了三天為啥就乙個登入就能卡我三天 我自己都感覺有點意外 為啥會卡我三天那,因為我一開始只是盲目的點兩下原版系統。沒有仔細的點和發現他們之...
第一次機房收費系統 登陸窗體
前言 不管是學生還是機房,敲的第乙個窗體都是登入,這兩個學習專案有很大的相同點,學生有原始碼,機房卻沒有,需要搞清楚裡邊的邏輯,問題也就迎刃而解了。下面是我畫的機房的流程圖 如下 option explicit private declare function getusername lib adv...