主要实现:
1 用户登录
2主窗体建立
3 添加用户
4 修改用户密码
系统启动后,将首先出现如下图所示的用户登录窗体,用户首先输入用户名,然后输入密码,如果用户3次输入密码不正确,将退出程序。
用户登录窗口创建:
登陆界面由一个标签框标示窗体信息;两个标签分别标示用户名和口令;两个文本框接收用户输入的用户名和口令;两个命令按钮控制确定和取消操作。
为窗体定义全局变量OK,用来判断登陆是否成功;定义miCount,用来记载输入密码的次数。代码如下:
Public OK As Boolean '定义布尔型变量判断是否登录成功
Dim IntCount As Integer '定义一个次数变量用来判断验证次数
当用户输入完用户名和密码,单击CmdOk按钮对用户信息进行判断。用户单击按钮触发cmdok的click事件,代码如下:
Private Sub CmdOk_Click()
‘定义记录集对象存放对应用户名的信息
Dim objrs As ADODB.Recordset
’ 定义消息变量用来返回查询信息
Dim Msgtxt As String
‘定义sql查询字符串变量用来存放查询字符串
Dim strsql As String
定义一个记录集对象存放正在值班老师的信息
Dim objrss As ADODB.Recordset
‘初始化模块中的用户名变量用来存储当前用户名
UserName = ""
'用户名不能为空
If Not Testtxt(TxtUser.Text) Then
MsgBox "用户名不能为空!", vbOKOnly + vbExclamation, "警告"
TxtUser.Text = ""
TxtUser.SetFocus
Exit Sub
Else
strsql = "select * from User_Info where User_Name = '" & Trim(TxtUser.Text) & "'"
Set objrs = ExecuteSQL(strsql, Msgtxt)
If objrs.EOF = True Then
'用户名不存在
MsgBox "用户名不存在!请重新填写!", vbOKOnly + vbExclamation, "警告"
TxtUser.Text = ""
TxtUser.SetFocus
Exit Sub
Else
'登录成功
If Trim(objrs.Fields(1)) = Trim(TxtPassword.Text) Then
OK = True
Me.Hide
UserName = Trim(TxtUser.Text)
strsql = "select * from OndutyTeacher_Info"
‘将用户名信息写入正在值班的信息表中
Set objrss = ExecuteSQL(strsql, Msgtxt)
objrss.AddNew
objrss.Fields(1) = Trim(objrs.Fields(0).Value)
objrss.Fields(2) = Trim(objrs.Fields(5).Value)
objrss.Fields(3) = Trim(objrs.Fields(2).Value)
objrss.Fields(4) = Trim(Date)
objrss.Fields(5) = Trim(Time)
objrss.Fields(6) = Trim(objrs.Fields(4).Value)
objrss.Update
objrss.Close
objrs.Close
Else
'密码输入有误
MsgBox "密码输入有误,请重新输入!", vbOKOnly + vbExclamation, "警告"
TxtPassword.Text = ""
TxtPassword.SetFocus
Exit Sub
End If
End If
End If
'判断验证次数
IntCount = IntCount + 1
If IntCount = 3 Then
Me.Hide
End If
Exit Sub
End Sub
用户如果没有输入用户名密码,将出现消息框给予提示。如果输入的用户名在用户表格中没有找到,将提示重新输入用户名,文本档txtUserName将重新获得输入焦点。如果用户输入密码不正确,文本档txtUserName将重新获得输入焦点。用户登录成功,全局变量OK将被赋值为Ture;一旦三次输入密码均不正确,全局变量OK将被赋值为False。公用模块中的Main过程将根据OK的值决定是退出,或者进入系统。如果用户取消登录,单击“取消”按钮,将触发按钮的Click事件;代码如下:
OK=False
me.Hide