Microsoft Access中的用户密码更改表单

问题描述

嘿,我下面有一个代码,如果他或她忘记了密码,它可以帮助用户更改密码。现在,他或她必须先输入他或她的用户名才能继续。下面是代码

Private Sub cmdchange_Click()
On Error Resume Next
If IsNull(Me.txtnewpass) = True Then
 MsgBox "New Password or Confirm Password can't be Null",vbinformation + vbCritical,"Electporl"
 Me.txtnewpass.SetFocus
ElseIf IsNull(Me.txtconfirmpassword) = True Then
MsgBox "New Password or Confirm Password can't be Null","Electporl"
Me.txtconfirmpassword.SetFocus
End If
Dim Pass As String
If Me.txtconfirmpassword.Value <> Me.txtnewpass.Value Then
MsgBox "Password entered does not match",vbinformation,"Error"
Exit Sub
End If

If Me.txtnewpass.Value = Me.txtconfirmpassword.Value Then
 Pass = "UPDATE User Registration Details SET Password =" & Me.txtconfirmpassword.Value & "WHERE Username = " & Me.txtusername.Value
CurrentDb.Execute (Pass)
MsgBox "Your Password has been successfully Changed","Password changed"
DoCmd.OpenForm "frmlogin"
DoCmd.Close acForm,Me.NAME


Else
MsgBox "The passwords do NOT match. Please try again." _
    & vbCrLf & "and please try again.",vbCritical,_
    "Re-enter both Passwords."
End If
End Sub

现在情况是,上面的代码可以完美运行,但是密码没有更改。 任何人都可以帮助我了解为什么尽管显示“您的密码已成功更改”但无法正常工作

解决方法

密码是保留字,文本值必须加引号,并且不要忽略空格。

所以:

Pass = "UPDATE User Registration Details SET [Password] = '" & Me!txtconfirmpassword.Value & "' WHERE Username = '" & Me!txtusername.Value & "'"