机房的修改密码窗体,前前后后时间算起来也有了一天了,感觉自己进度一般入门有点慢 前面主要是摸索阶段。
主要是先画流程图把自己想得流程具体化,在自己先试着自己敲,不会了查阅博客将自己的流程图和前人的流程图比较看看有什么叫区别,最后进行代码的查阅,这样就能形成很好的一个流程。
我的流程图
具体代码:
Private Sub cmdOK_Click()
Dim a As VbMsgBoxResult
'定义a为msgbox返回结果的变量
Dim txtSQL, MsgText As String
'定义变量类型 txtSQL用来存放SQL语句,MsgText用来存放返回信息
Dim mrc As ADODB.Recordset
'定义mrc存放记录集
Dim mrc1 As ADODB.Recordset
'定义mrc1存放记录集
txtSQL = "select * from User_Info where userID ='" & Trim(frmLogin.txtUserName.Text) & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
'对mrc进行赋值
txtUserName.SetFocus
If txtUserName.Text <> Trim(mrc.Fields(0)) Then
'如果用户名不等于mrc字段为一的PWD 那么
MsgBox "没有这个用户,请重新输入!", vbOKOnly + vbExclamation, "警告"
txtUserName.SetFocus
txtUserName = ""
Else
If Trim(mrc.Fields(1)) <> Trim(txtOldPWD.Text) Then
'如果mrc字段为一的PWD不等于旧密码 那么
MsgBox "旧密码错误,请重新输入!", vbOKOnly + vbExclamation, "警告"
txtOldPWD.SetFocus
txtOldPWD.Text = ""
Else
If txtDefineNewPWD.Text = txtOldPWD.Text Then
'如果新密码等于旧密码 那么
MsgBox "新密码不能与旧密码相等,请重新输入!", vbOKOnly + vbExclamation, "警告"
Else
txtSQL = " update User_Info set PWD='" & Trim(txtDefineNewPWD.Text) & "' where userID='" & frmLogin.txtUserName.Text & "'"
'修改PWD等于新密码
Set mrc1 = ExecuteSQL(txtSQL, MsgText)
a = MsgBox("密码已修改完毕,是否重新登录?", vbOKCancel + vbQuestion, "提示")
If a = vbOK Then
Unload Me
Unload frmmenu
frmLogin.Show
frmLogin.txtPWD = ""
frmLogin.txtPWD.SetFocus
End If
End If
End If
End If
End sub