总结是在机房结束以后写的,总结的不及时之前的进度慢了,中间赶了一段时间没有去及时总结博客,随时总结确实有很大的作用,不过只要写了就不晚,结束之后让我有了更深刻的了解,一个简单的登陆窗体其实也不能想的太过片面,我刚开始做的很多不完善的地方,在做的过程中也回头不断地完善。
首先我没做一个窗体应该先去思考它要实现的的功能这里先拿登陆来说。
第一点 就是主要的登陆功能保证账号密码的输入正确
首先限制字符
Select Case KeyAscii
Case 8
'无变化,退格键不屏蔽
Case Asc("A") To Asc("z")
Case Asc("0") To Asc("9")
Case Is < 0
Case Else ' 除了以上的 都屏蔽
KeyAscii = 0
End Select
然后判断账号密码是否为空不为空就查询数据库
'判断输入用户是否为空、
If Trim(txtUserName.Text = "") Then
MsgBox "没有这个用户名,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"
txtUserName.SetFocus
Else
'查询指定用户名的记录
txtSQL = "select * from User_Info where userID='" & txtUserName.Text & "'"
'执行查询语句
Set mrc = ExecuteSQL(txtSQL, MsgText)
第二点 要在onwork和 worklog表添加记录
txtSQL = "select * from User_I
‘把信息写入onwork表
txtSQL = “select * from OnWork_Info where UserID =’” & txtUserName.Text & “’”
Set mrc1 = ExecuteSQL(txtSQL, MsgText)
mrc1.AddNew
mrc1.Fields(0) = Trim(txtUserName.Text)
mrc1.Fields(1) = Trim(mrc.Fields(2))
mrc1.Fields(2) = Date
mrc1.Fields(3) = Time
mrc1.Fields(4) = VBA.Environ(“computername”)
mrc1.Update
mrc.Close
‘把信息写入worklog表
txtSQL = “select * from worklog_Info ”
Set mrc2 = ExecuteSQL(txtSQL, MsgText)
mrc2.AddNew
mrc2.Fields(1) = Trim(txtUserName.Text)
mrc2.Fields(2) = Trim(mrc1.Fields(1))
mrc2.Fields(3) = Trim(mrc1.Fields(2))
mrc2.Fields(4) = Trim(mrc1.Fields(3))
mrc2.Fields(7) = VBA.Environ("computername")
mrc2.Fields(8) = "True"
mrc2.Update
mrc2.Close
mrc1.close
第三点 要确定权限根据权限开放功能 ‘选择操作员就隐藏管理员
If Trim(UserLevel) = “操作员” Then
MDIFrmmain.操作员.Enabled = True
MDIFrmmain.一般用户.Enabled = True
MDIFrmmain.管理员.Enabled = False
MDIFrmmain.管理员.Visible = False
End If
‘选择一般用户,就隐藏管理员和操作员
If Trim(UserLevel) = “一般用户” Then
MDIFrmmain.一般用户.Enabled = True
MDIFrmmain.管理员.Enabled = False
MDIFrmmain.管理员.Visible = False
MDIFrmmain.操作员.Enabled = False
MDIFrmmain.操作员Visible = False
End If