機房收費系統(三)——登入介面
阿新 • • 發佈:2019-01-26
概述
機房收費系統其實和學生資訊管理系統差不多,難度麼有增加多少。關鍵在於需要我們在敲程式碼之前把思路搞清楚,程式碼並不是什麼大事。這裡我就採用了畫流程圖的形式,把要實現的功能都畫出來,然後進行程式碼的編輯。下面就來分享我的思路和部分程式碼。
流程圖
程式碼
Private Sub cmdOK_Click()
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
username = ""
If Trim(txtUserName.Text = "") Then '判斷輸入使用者名稱是否為空
MsgBox "沒有這個使用者,請重新輸入!", vbExclamation + vbQuestion, "提示"
txtUserName.SetFocus
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.manager.Enabled = False
Else
frmMain.manager.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
MsgBox "超過登入限制!", vbOKOnly + vbExclamation, "警告"
End '退出
End If
End If
End If
End If
End Sub
總結
就整個登入介面來說比較麻煩的就是判斷使用者級別,學生資訊系統沒有這樣劃分。使用者級別的判斷需要明白的是:一般使用者的許可權最低,它不能檢視管理員和操作員的相關許可權;而管理員其次,管理員可以看一般使用者的許可權,沒有操作員的許可權;而權力最大的就是操作員。所以只要清楚這個了其他的就好判斷了。