第一次機房收費系統優化 登入窗體

2021-08-31 21:35:38 字數 3635 閱讀 3487

一、重點

這個窗體增加了判斷使用者的類別(操作員、一般使用者、管理員)。

二、控制項優化

label為空白:label1.backstyle = 0

command新增:(1)將command控制項的style設定為1 - graphical (2)在command控制項的picture中,點瀏覽,選擇一張。

三、優化區域

不能輸入特殊符號

select case keyascii

1. case -20319 to -3652

2. case 48 to 57

3. case 65 to 90

4. case 97 to 122

5. case 8

6. case else

7. keyascii = 0

8. end select

四、**

private sub cmdok_click()

'用來存放sql語句

dim txtsql as string

dim txtsql1 as string

dim txtsql2 as string

' 用來存放記錄集物件

dim mrc as adodb.recordset

dim mrc1 as adodb.recordset

dim mrc2 as adodb.recordset

'用來存放返回資訊

dim msgtext as string

dim msgtext1 as string

dim msgtext2 as string

dim ctrl as control

'todo: create test for correct password

'check for correct password

username = ""

'判斷輸入使用者名稱是否為空

if trim(txtusername.text = " ") then

msgbox "沒有這個使用者,請重新輸入使用者名稱!", vbokonly + vbexclamation, "警告"

txtusername.setfocus

txtusername.text = ""

txtpassword.text = ""

exit sub

else

if trim(txtpassword.text = "") then

msgbox "請輸入密碼!", vbokonly + vbexclamation, "提示"

txtusername.setfocus

txtpassword.text = ""

exit sub

else

txtsql = "select * from user_info where userid='" & txtusername.text & "'"

set mrc = executesql(txtsql, msgtext) '執行查詢語句

txtsql2 = "select * from worklog_info where userid='" & txtusername.text & "'"

set mrc2 = executesql(txtsql2, msgtext2)

txtsql1 = "select * from onwork_info where userid='" & txtusername.text & "'"

set mrc1 = executesql(txtsql1, msgtext1)

if mrc.eof then

msgbox "無此使用者,請重新輸入!", vbokonly + vbexclamation, "提示"

txtusername.text = ""

txtusername.setfocus

exit sub

else

if mrc.fields(0) = txtusername.text and mrc.fields(1) = txtpassword.text then

end if

ok = true

username = trim(txtusername.text)

if trim(mrc.fields(2)) = "管理員" then

else

if trim(mrc.fields(2)) = "操作員" then

frmmain.cmucz.enabled = false

else

frmmain.manger.enabled = false

frmmain.cmucz.enabled = false

end if

end if

end if

if mrc1.eof = false then

msgbox "此使用者二次登陸", vbokcancel + vbexclamation, "提示"

mrc1.delete

mrc1.update

mrc1.close

else

mrc1.addnew

mrc1.fields(0) = trim(txtusername)

mrc1.fields(1) = trim(mrc.fields(2))

mrc1.fields(2) = trim(date)

mrc1.fields(3) = time

mrc1.update

mrc1.close

mrc2.addnew '新增記錄到worklog_info表

mrc2.fields(1) = trim(txtusername)

mrc2.fields(2) = trim(mrc.fields(2))

mrc2.fields(3) = trim(date)

mrc2.fields(4) = trim(time)

mrc2.fields(7) = vba.environ("computername")

mrc2.fields(8) = true

mrc2.update

mrc2.close

me.hide

frmmain.show

'記載輸入密碼次數

micount = micount + 1

if micount = 3 then

me.hide

end' exit sub

' for each ctrl in me.controls

' if typeof ctrl is textbox then '是否為文字框textbox

' ctrl.text = ""

' end if

' next

end if

end if

end if

end if

end sub

``

第一次 機房收費系統 登入窗體

邏輯很重要,慢慢縷。流程圖與 如下 private sub cmdok click 用來存放sql語句 連線user表 dim txtsql as string 用來存放記錄集物件 dim mrc as adodb.recordset 用來存放返回資訊 dim msgtext as string 連...

第一次機房收費系統 「登入」

前言 說到登入我為啥,會寫登入呢,按說不就個登入嗎,怎麼簡單的東西有必要寫一篇部落格總結嗎,有必要!非常有必要 因為就在剛開始的時候這個非常簡單的東西讓我,整整的卡了三天為啥就乙個登入就能卡我三天 我自己都感覺有點意外 為啥會卡我三天那,因為我一開始只是盲目的點兩下原版系統。沒有仔細的點和發現他們之...

第一次機房收費系統 登陸窗體

前言 不管是學生還是機房,敲的第乙個窗體都是登入,這兩個學習專案有很大的相同點,學生有原始碼,機房卻沒有,需要搞清楚裡邊的邏輯,問題也就迎刃而解了。下面是我畫的機房的流程圖 如下 option explicit private declare function getusername lib adv...