机房收费系统运行时上来第一步就是要登录,今天我们来说一下登录窗体
一、登录窗体的流程梳理:
二、错误集:
逻辑错误
这个窗体中的语法错误,运行错误倒是没有什么,就是在逻辑上面有些问题,刚开始忘记了不同级别登录的权限设置。在设置权限登录时所列代码被直接跳过,无运行
错误的代码:
If mrc.Fields(2) = "一般用户" Then '判断用户级别
frmmain.admin.Enabled = False '冻结相应的菜单栏
frmmain.operator.Enabled = False
End If
If mrc.Fields(2)= "操作员" Then
frmmain.admin.Enabled = False
End If
在经过多次调试后发现问题所在,是因为mrc.fields(2)的值里面有很多空格,条件不满足所以就一直跳转,后来加上了Trim函数后就OK了^_^
正确的代码:
If Trim(mrc.Fields(2)) = "一般用户" Then '判断用户级别
frmmain.admin.Enabled = False '冻结相应的菜单栏
frmmain.operator.Enabled = False
End If
If Trim(mrc.Fields(2)) = "操作员" Then
frmmain.admin.Enabled = False
End If
三、查询集:
① 、如何判断文本框内容是否为空?
Testtxt函数
②、如何判断数据库内是否有该用户?
mrc.EOF mrc.BOF
③、如何判断密码的输入次数?
定义一个miCount的变量,每运行一次变量加1
四、代码片段:
①、判断文本框是否为空
Public Function testtxt(txt As String) As Boolean
If Trim(txt) = "" Then
testtxt = False
Else
testtxt = True
End If
End Function
②、判断数据库是否有该用户
If mrc.EOF Then '通过EOF,BOF来判断是否有该用户
MsgBox "没有该用户,请重新输入用户名", vbOKOnly, "温馨提示:"
txtuserID.Text = "" '清空用户名文本框内容
txtuserID.SetFocus
Else
If Trim(mrc.Fields(1)) = Trim(txtPWD.Text) Then '如果输入密码与数据库密码相等
Me.Hide
......
③、如何判断输入次数
If miCount = 1 Then
MsgBox "您还有两次机会哦!", vbOKOnly, "温馨提示"
txtPWD.Text = ""
txtPWD.SetFocus
Exit Sub
End If
If miCount = 2 Then
MsgBox "您还有一次机会哦!", vbOKOnly, "温馨提示:"
txtPWD.Text = ""
txtPWD.SetFocus
Exit Sub
End If
If miCount = 3 Then
MsgBox "您输入的次数太多,程序即将关闭!", vbOKOnly, "温馨提示:"
End
End If
④、如何判断登录用户级别
If Trim(mrc.Fields(2)) = "一般用户" Then '判断用户级别
frmmain.admin.Enabled = False '冻结相应的菜单栏
frmmain.operator.Enabled = False
End If
If Trim(mrc.Fields(2)) = "操作员" Then
frmmain.admin.Enabled = False
End If
到此登录窗体已简单完成,以上代码均是为保证运行的代码,并未包含细节的优化部分。下一站走起^_^