Tenho um sistema em access e pus nele uma tela de login, até aí beleza.
Meu problema é o seguinte:
Estou precisando de um form pra atualizar o cadastro de usuários e até mesmo pra trocar as senhas se necessário.
Minha tabela login tem os seguintes campos: IDUSER, USER, LOGIN (senha do usuário) , TIPOUSUARIO (define o nível de acesso).
Estava usando o seguinte código, mas ele não atualiza a tabela:
""( meu form de alterar senha tem 4 campos, txtUsuario corresponde ao USER da tabela, txtAnterior ao LOGIN, txtNova e txtConfirma são os campos onde digito e re-digito a senha nova"
Private Sub txtUsuario_Exit(Cancel As Integer)
If Nz(txtUsuario, "") = "" Then
Cancel = True
Else
txtAnterior.Locked = False
txtAnterior.Enabled = True
txtAnterior.SetFocus
txtUsuario.Locked = False
txtUsuario.Enabled = True
End If
End Sub
Private Sub txtUsuario_NotInList(NewData As String, Response As Integer)
MsgBox "USUÁRIO NÃO ESTÁ CADASTRADO!."
txtUsuario = ""
End Sub
Private Sub Form_Error(DataErr As Integer, Response As Integer)
Pergunta
Raphael Souza
Olá
Tenho um sistema em access e pus nele uma tela de login, até aí beleza.
Meu problema é o seguinte:
Estou precisando de um form pra atualizar o cadastro de usuários e até mesmo pra trocar as senhas se necessário.
Minha tabela login tem os seguintes campos: IDUSER, USER, LOGIN (senha do usuário) , TIPOUSUARIO (define o nível de acesso).
Estava usando o seguinte código, mas ele não atualiza a tabela:
""( meu form de alterar senha tem 4 campos, txtUsuario corresponde ao USER da tabela, txtAnterior ao LOGIN, txtNova e txtConfirma são os campos onde digito e re-digito a senha nova"
Private Sub txtUsuario_Exit(Cancel As Integer)
If Nz(txtUsuario, "") = "" Then
Cancel = True
Else
txtAnterior.Locked = False
txtAnterior.Enabled = True
txtAnterior.SetFocus
txtUsuario.Locked = False
txtUsuario.Enabled = True
End If
End Sub
Private Sub txtUsuario_NotInList(NewData As String, Response As Integer)
MsgBox "USUÁRIO NÃO ESTÁ CADASTRADO!."
txtUsuario = ""
End Sub
Private Sub Form_Error(DataErr As Integer, Response As Integer)
If DataErr = 2237 Then
Response = acDataErrContinue
End If
End Sub
Private Sub txtAnterior_Exit(Cancel As Integer)
Dim xBusca As Variant
xBusca = DLookup("[LOGIN]", "LOGIN", "[LOGIN] = '" & txtAnterior & "' and [uSER] ='" & txtUsuario & "'")
If Nz(xBusca, "") <> txtAnterior Then
Cancel = True
MsgBox "SENHA INVÁLIDA"
Else
txtNova.Locked = False
txtNova.Enabled = True
txtConfirma.Locked = False
txtConfirma.Enabled = True
txtUsuario.Locked = True
txtUsuario.Enabled = False
txtNova.SetFocus
txtAnterior.Locked = True
txtAnterior.Enabled = False
End If
End Sub
Private Sub txtNova_Exit(Cancel As Integer)
If Nz(txtNova, "") = "" Then
Cancel = True
End If
End Sub
Private Sub txtConfirma_Exit(Cancel As Integer)
Dim ErrorPass As Integer
ErrorPass = 0
If Len(txtConfirma) < 5 Then
ErrorPass = 1
End If
If txtConfirma <> txtNova Then
ErrorPass = 2
End If
If txtConfirma = txtAnterior Then
ErrorPass = 3
End If
If txtConfirma = txtUsuario Then
ErrorPass = 4
End If
If InStr(txtConfirma, txtUsuario) > 0 Then
ErrorPass = 5
End If
Select Case ErrorPass
Case 0
MsgBox "NOVA SENHA ATUALIZADA COM SUCESSO! O SISTEMA SERÁ REINICIADO"
Case 1
MsgBox "SENHA TEM QUE TER NO MÍNIMO 5 DÍGITOS."
Case 2
MsgBox "SENHA INVÁLIDA! DIGITE DE NOVO."
Case 3
MsgBox "NOVA SENHA É IGUAL À ANTERIOR, DIGITE UMA SENHA DIFERENTE."
Case 4
MsgBox "SENHA É IGUAL AO USUÁRIO! DIGITE UMA SENHA DIFERENTE."
Case 5
MsgBox ""
End Select
If ErrorPass > 0 Then
txtConfirma = ""
txtNova = ""
Else
txtNova.Locked = True
txtConfirma.Locked = True
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE LOGIN SET LOGIN = [txtNova] " _
& "WHERE ([LOGIN]![uSER] = txtUsuario)"
DoCmd.SetWarnings True
End If
DoCmd.Quit
End Sub
Como sempre, desde já agradeço a colaboração, atençã e ajuda de todos.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.