MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]Alterar password de usuário

    avatar
    mendesof
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 120
    Registrado : 30/12/2010

    [Resolvido]Alterar password de usuário Empty Alterar password de usuário

    Mensagem  mendesof 26/4/2011, 01:52

    Boas Noites!

    Tenho um formulário para alterar a password dos usuários, mas não consigo que funcione.
    O código é o seguinte:

    Private Sub txtConfirma_AfterUpdate()
    On Error Resume Next
    Dim ErrorPass As Integer
    ErrorPass = 0
    If Len(txtConfirma) < 6 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 Password actualizada com sucesso, o Sistema irá fechar para você abrir de novo.", vbQuestion, "Gestão Clínicas"
    DoCmd.Close
    Case 1
    MsgBox "Password tem de ter no minimo 6 digitos.", vbQuestion, "Gestão Clínicas"
    Me.txtNova = ""
    Me.txtConfirma = ""
    Exit Sub
    Case 2
    MsgBox "Password Invalida, Digite de novo.", vbQuestion, "Gestão Clínicas"
    Me.txtNova.SetFocus
    Me.txtNova = ""
    Me.txtConfirma = ""
    Exit Sub
    Case 3
    MsgBox "Nova Password é igual à anterior, Digite uma Password diferente.", vbQuestion, "Gestão Clínicas"
    Me.txtNova.SetFocus
    Me.txtNova = ""
    Me.txtConfirma = ""
    Exit Sub
    Case 4
    MsgBox "Password é igual ao User, Digite uma Password diferente.", vbQuestion, "Gestão Clínicas"
    Me.txtNova.SetFocus
    Me.txtNova = ""
    Me.txtConfirma = ""
    Exit Sub
    Case 5
    MsgBox ""
    End Select
    If ErrorPass > 0 Then
    txtConfirma = ""
    txtNova = ""
    Else
    txtNova.Locked = True
    txtConfirma.Locked = True
    Dim db As Database, rs As Recordset
    Set db = CurrentDb()
    Set rs = db.OpenRecordset("tblUsuario", dbOpenDynaset)
    rs.FindFirst "Usuario = " & txtUsuario
    If rs.NoMatch Then
    rs.AddNew
    Else
    rs.Edit
    rs("Senha") = Me!txtNova
    rs("Confirmação") = Me!txtConfirma
    rs.Update
    rs.Close
    End If
    rs("Senha") = Me!txtNova
    rs("Confirmação") = Me!txtConfirma
    rs.Update
    rs.Close
    Set rs = Nothing
    Set db = Nothing
    End If
    End Sub

    Alguem me pode ajudar?
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Alterar password de usuário Empty Re: [Resolvido]Alterar password de usuário

    Mensagem  criquio 26/4/2011, 02:09

    Por que a repetição?

    rs("Senha") = Me!txtNova
    rs("Confirmação") = Me!txtConfirma
    rs.Update
    rs.Close
    End If

    rs("Senha") = Me!txtNova
    rs("Confirmação") = Me!txtConfirma
    rs.Update
    rs.Close
    End If


    Outra coisa: você está colocando a mansagem de "alterado com sucesso" antes de efetivamente realizar a alteração.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    mendesof
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 120
    Registrado : 30/12/2010

    [Resolvido]Alterar password de usuário Empty Re: [Resolvido]Alterar password de usuário

    Mensagem  mendesof 26/4/2011, 02:15

    Criquio, obrigado pelo retorno.
    Junto envio o exemplo e vejo que realmente tem razão na sua observação, mas de qualquer forma ele diz que alterou a pass com sucesso, mas na realidade continua com a password anterior.
    Se pudesse dar uma olhada agradecia
    avatar
    mendesof
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 120
    Registrado : 30/12/2010

    [Resolvido]Alterar password de usuário Empty Re: [Resolvido]Alterar password de usuário

    Mensagem  mendesof 26/4/2011, 02:34

    Ou melhor, parece que altera a password do 1º usuário, independentemente do que for selecionado.

    Por outro lado, parece que nem a confirmação da password anterior (actual) está a funcar.

    As passwords estão todas como "123456"
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Alterar password de usuário Empty Re: [Resolvido]Alterar password de usuário

    Mensagem  criquio 26/4/2011, 13:18

    Olha só: você não precisa de um bloco If e um Select Case para fazer a mesma coisa. Se você já tem um bloco If, coloca tudo nesse bloco, assim você economiza um bom número de linhas de código. Eu mudei o evento da mensagem de sucesso de lugar. Outra coisa, quando a consulta de um campo se refere a um campo tipo texto, precisamos usar aspas simples tambem, junto com as aspas duplas.

    Se usuário fosse tipo número: rs.FindFirst "Usuario = " & txtUsuario
    Se usuário é campo tipo texto: rs.FindFirst "Usuario = '" & txtUsuario & "'"

    Olha como pode ficar o seu evento:

    Private Sub txtConfirma_AfterUpdate()
    'On Error Resume Next

    If Len(txtConfirma) < 6 Then
    MsgBox "Password tem de ter no minimo 6 digitos.", vbQuestion, "Gestão Clínicas"
    Me.txtNova = ""
    Me.txtConfirma = ""

    ElseIf txtConfirma <> txtNova Then
    MsgBox "Password Invalida, Digite de novo.", vbQuestion, "Gestão Clínicas"
    Me.txtNova.SetFocus
    Me.txtNova = ""
    Me.txtConfirma = ""

    ElseIf txtConfirma = txtAnterior Then
    MsgBox "Nova Password é igual à anterior, Digite uma Password diferente.", vbQuestion, "Gestão Clínicas"
    Me.txtNova.SetFocus
    Me.txtNova = ""
    Me.txtConfirma = ""

    ElseIf txtConfirma = txtUsuario Then
    MsgBox "Password é igual ao User, Digite uma Password diferente.", vbQuestion, "Gestão Clínicas"
    Me.txtNova.SetFocus
    Me.txtNova = ""
    Me.txtConfirma = ""

    ElseIf InStr(txtConfirma, txtUsuario) > 0 Then
    MsgBox ""

    Else

    Dim db As Database, rs As Recordset
    Set db = CurrentDb()
    Set rs = db.OpenRecordset("tblUsuario", dbOpenDynaset)
    rs.FindFirst "Usuario = '" & txtUsuario & "'"
    If rs.NoMatch Then
    rs.AddNew
    Else
    rs.Edit
    rs("Senha") = Me!txtNova
    rs("Confirmação") = Me!txtConfirma
    rs.Update
    rs.Close
    End If
    Set rs = Nothing
    Set db = Nothing

    MsgBox "Nova Password actualizada com sucesso, o Sistema irá fechar para você abrir de novo.", vbQuestion, "Gestão Clínicas"

    End If

    End Sub


    Teste e diga se deu certo.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Alterar password de usuário Empty Re: [Resolvido]Alterar password de usuário

    Mensagem  criquio 26/4/2011, 13:21

    Outra coisa que esqueci de mencionar: enquanto estiver programando, não use tratamento de erro: On Error Resume Next. Pois você não receberá a mensagem de erro e não saberá porque seu evento não está funcionando.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    mendesof
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 120
    Registrado : 30/12/2010

    [Resolvido]Alterar password de usuário Empty Re: [Resolvido]Alterar password de usuário

    Mensagem  mendesof 26/4/2011, 19:42

    Criquio!
    Muito obrigado pelo seu retorno.

    Está alterando a password excelente. Só que agora estou com outro problema, que é o seguinte:

    Depois de introduzir a txtanterior e se não introduzir a password correcta, dá a mensagem de que a password é incorrecta, mas se introduzir segunda password incorrecta ele aceita e pode-se alterar a password, mesmo que não se saiba a password anterior.

    Agradecia se me pudesse dar mais uma mãozinha neste pelo.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Alterar password de usuário Empty Re: [Resolvido]Alterar password de usuário

    Mensagem  criquio 26/4/2011, 20:19

    Tente acrescentar um bloco no início:

    ' Novo bloco
    If Me.txtAnterior <> DLookup("Senha", "tblUsuario", "Usuario='" & Me.txtUsuario & "'") Then
    MsgBox "Password atual inválida. Digite novamente a senha atual.", vbQuestion, "Gestão Clínicas"
    Me.txtAnterior = Null
    Me.txtNova = ""
    Me.txtConfirma = ""
    Me.txtNova.SetFocus
    Me.txtAnterior.SetFocus
    ' À partir daqui já existe...
    ElseIf Len(txtConfirma) < 6 Then
    MsgBox "Password tem de ter no minimo 6 digitos.", vbQuestion, "Gestão Clínicas"
    Me.txtNova = ""
    Me.txtConfirma = ""


    Dica: eu não gravaria a confirmação de senha na tabela, até mesmo porque esse campo na tabela não irá servir para nada. Ele é necessário apenas no formulário para o usuário ter certeza que não errou a senha.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    mendesof
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 120
    Registrado : 30/12/2010

    [Resolvido]Alterar password de usuário Empty Re: [Resolvido]Alterar password de usuário

    Mensagem  mendesof 26/4/2011, 23:43

    Criquio!

    Mais uma vez muito obrigado, mas experimentei e informa de password errada, mas bloqueia-me a txtanterior e não consigo aceder a esse campo. Não sei se o exêmplo chega para experimentar.
    avatar
    mendesof
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 120
    Registrado : 30/12/2010

    [Resolvido]Alterar password de usuário Empty Re: [Resolvido]Alterar password de usuário

    Mensagem  mendesof 27/4/2011, 18:22

    Criquio!

    Obrigado, pelo retorno, mas alterei todo o sistema de login e já funciona.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Alterar password de usuário Empty Re: [Resolvido]Alterar password de usuário

    Mensagem  criquio 27/4/2011, 19:10

    OK! Obrigado pelo retorno.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    Conteúdo patrocinado


    [Resolvido]Alterar password de usuário Empty Re: [Resolvido]Alterar password de usuário

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 13:44