faqChangePassword

G

Guest

Scenario - I am trying to implement an option for the user to be able to
change their password.

Accordingly, I have used the following Module code -


Function faqChangePassword(ByVal strUser As String, _
ByVal strPwd As String, ByVal strOldPwd As String) As Integer

Dim ws As Workspace
Dim usr As User
On Error GoTo err_ChangePassword

Set ws = DBEngine.Workspaces(0)
Set usr = ws.Users(strUser)
usr.NewPassword strOldPwd, strPwd
err_ChangePassword:
If Err.Number = 3033 Then
MsgBox "You do not have permission to modify passwords. Please contact your
System Administrator"
End If

End Function

However, this code is giving me the message (msgbox text). Whenever I try
to change my password. I have admin rights. This will obviously propogate
to other users when they attempt to change their password.

What changes should I make in the function that will not give me permission
denied message.?
 
J

Joan Wild

How are you calling the function? You need to pass it the username,
password and old password.
 
G

Guest

Here's a sample of my code -

Private Sub cmdChangePassWord_Click()
Dim v_PW_Return As Integer
v_PW_Return = faqChangePassword(CurrentUser(), Me.txtUserName, Me.txtPassword)
End Sub
 
J

Joan Wild

Me.txtUserName, should be Me.txtNewPassword i.e. whatever textbox they put
their new password into.
CurrentUser() captures the current username.
Me.txtPassword would be the old password.
Do you have a textbox for the NewPassword?
 
G

Guest

I only have two textboxes, one for the username and one to enter in the new
password. I do not have one for the old password.
 
J

Joan Wild

You need to have one for the old password. Ordinary users must supply their
old password. Members of the Admins group don't need to do this - thus a
way for them to reset someone's password.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top