La routine va bene in assenza delle righe evidenziate
Sono state aggiunte per criptare le password (Trasform fa riferimento a un modulo di criptazione)
Private Sub cmdOK_Click()
Dim strOldPass As String
strOldPass = DLookup("PWD", "_Users", "User='" & Me.txtUser & "'")
Me.txtOldPassword = Transform(Me!txtOldPassword)
If strOldPass <> Me.txtOldPassword Then
MsgBox "Vecchia password errata.", vbCritical, "Errore cambio password"
Me.txtOldPassword.SetFocus
Exit Sub
End If
If IsNull(Me.txtPassword) Then
Me.txtPassword.SetFocus
MsgBox "Inserisci Password.", vbCritical, "Login"
Exit Sub
End If
If IsNull(Me.txtPassword2) Then
Me.txtPassword2.SetFocus
MsgBox "Reinserisci Password.", vbCritical, "Login"
Exit Sub
End If
If Me.txtPassword = Me.txtPassword2 Then
DoCmd.SetWarnings False
Me.txtPassword2 = Transform(Me!txtPassword2)
DoCmd.RunSQL "UPDATE _Users SET [PWD]= " & Me.txtPassword2 & " WHERE [User]= '" & Me.txtUser & "';"
MsgBox "Password modificata con successo.", vbOKOnly, "Login"
DoCmd.SetWarnings True
DoCmd.Close acForm, "frmChangePassword"
Else
MsgBox "Password non corrispondono.", vbCritical, "Login"
Exit Sub
End If
End Sub
inseriti i dati e cliccando su OK compare errore di run time 3075
access errore di sintassi (operatore mancante) nell'espressione della query (segue la nuova passw criptata)
cliccando su debug compare evidenziato in giallo
DoCmd.RunSQL "UPDATE _Users SET [PWD]= " & Me!txtPassword2 & " WHERE [User]= '" & Me.txtUser & "';"
Qualche suggerimento?
Grazie