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


    Colocar Form em 1º plano

    avatar
    eduarte
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 27/09/2013

    Colocar Form em 1º plano  Empty Colocar Form em 1º plano

    Mensagem  eduarte 14/4/2014, 14:05

    Olá, pessoal

    Estou usando um sistema de login/senha que o Moderador Marcelo David me forneceu em janeiro deste e por sinal funcionando muito bem. No entanto, eu gostaria de resolver um probleminha no meu sistema.
    Criei uma macro para abrir o form SistemaRegimeDisciplinar. Nele eu tenho dois botoes ENTRAR e SAIR, quando clico em ENTRAR é acionado o sistema de login/senha abrindo o form FLogin para o usuario logar no sistema. O meu problema começa aí, quando crio um usuario novo o sistema gera automaticamente uma senha padrão "123456" e no primeiro acesso o usuario é direcionado para o form de alterar senha, o qual fica em 2º plano, por trás do form SistemaRegimeDisciplinar. Eu queria saber que recurso posso utilizar para chamar esse form de alterar senha para frente do meu form principal. Esse form SistemaRegimeDisciplinar foi criado para fazer um fundo protegendo o painel de navegação, as guias do Access, para o usuario não ter nenhum acesso livre a todos os elementos do BD.

    No evento "Ao clicar" do botão Login do form FLogin tem o código:

    Option Compare Database
    Option Explicit

    Private Sub btnSair_Click()

    If MsgBox("Deseja encerrar o aplicativo?", _
    vbQuestion + vbYesNo, "Sair do Sistema") = vbYes Then

    Application.SetOption "Perform Name AutoCorrect", True
    Application.Quit

    End If

    End Sub

    Private Sub btnLogin_Click()

    Dim strSenha As String

    If IsNull(cbxLogin) Then
    MsgBox "Por favor, informe um nome de usuário!", vbExclamation, "Login Inválido"
    cbxLogin.SetFocus
    ElseIf IsNull(txtSenha) Then
    MsgBox "Por favor, informe a senha!", vbExclamation, "Senha Inválida"
    txtSenha.SetFocus
    Else

    'Realizando a limpeza da senha
    strSenha = limparSenha(txtSenha)

    If verificaLogin(cbxLogin, strSenha) Then
    DoCmd.Close
    DoCmd.OpenForm "FPrincipal"

    Else
    MsgBox "Senha incorreta! Por favor, tente novamente.", vbExclamation, "Login"
    txtSenha.SetFocus
    End If

    End If

    End Sub

    Private Sub Form_Open(Cancel As Integer)
    Application.SetOption "Perform Name AutoCorrect", False
    End Sub


    Obs: na linha de comando: DoCmd.OpenForm "FPrincipal" esse FPrincipal não é o form a que me refiro acima, ele é outro form que é acessado logo após a confirmação do login e senha.



    No evento "Ao Descarregar" do form FAlterarSenha tem o seguinte:

    Option Compare Binary
    Option Explicit

    Private Sub btnAlterar_Click()

    If IsNull(txtSenhaAtual) Then

    MsgBox "Informe a senha atual.", vbExclamation, "Alterar Senha"
    txtSenhaAtual.SetFocus

    ElseIf Not verificaLogin(txtLogin, txtSenhaAtual) Then

    MsgBox "Senha atual incorreta. Por favor, tente novamente.", _
    vbExclamation, "Alterar Senha"
    txtSenhaAtual.SetFocus

    ElseIf IsNull(txtNovaSenha) Then

    MsgBox "Informe a nova senha.", vbExclamation, "Alterar Senha"
    txtNovaSenha.SetFocus

    ElseIf txtNovaSenha = txtSenhaAtual Then

    MsgBox "A nova senha deve ser diferente da atual.", _
    vbExclamation, "Alterar Senha"
    txtNovaSenha.SetFocus

    ElseIf txtNovaSenha = txtLogin Then

    MsgBox "A nova senha deve ser diferente do seu login.", _
    vbExclamation, "Alterar Senha"
    txtNovaSenha.SetFocus

    ElseIf InStr(txtNovaSenha, "'") > 0 Then

    MsgBox "A nova senha não pode conter aspas simples.", _
    vbExclamation, "Alterar Senha"
    txtNovaSenha.SetFocus

    ElseIf InStr(txtNovaSenha, ";") > 0 Then

    MsgBox "A nova senha não pode conter o caracter ponto e vírgula.", _
    vbExclamation, "Alterar Senha"
    txtNovaSenha.SetFocus

    ElseIf txtNovaSenha = getSenhaPadrao Then

    MsgBox "Nova senha inválida. Por favor, insira uma nova senha diferente.", _
    vbExclamation, "Alterar Senha"
    txtNovaSenha.SetFocus

    ElseIf IsNull(txtConfirmaSenha) Then

    MsgBox "Confirme a nova senha.", vbExclamation, "Alterar Senha"
    txtSenhaAtual.SetFocus

    ElseIf txtConfirmaSenha <> txtNovaSenha Then

    MsgBox "Confirmação de senha incorreta. Por favor, tente novamente.", _
    vbExclamation, "Alterar Senha"
    txtConfirmaSenha.SetFocus

    Else

    'Testando a força da senha do usuário
    'para necessidade de segurança média.
    If forcaSenha(txtNovaSenha) >= 50 Then
    alterarSenha txtLogin, txtNovaSenha
    MsgBox "Senha Alterada com sucesso.", vbInformation, "Alterar Senha"
    DoCmd.Close
    Else
    MsgBox "A senha escolhida não atende aos requisitos de segurança." & vbCrLf _
    & vbLf & _
    "Por favor, utilize letras maiúsculas e minúsculas, além" & vbCrLf & _
    "de números e símbolos para criar uma senha forte." & vbCrLf _
    & vbLf & _
    "O tamanho mínimo recomendado é de 8 caracteres." _
    , vbExclamation, "Senha Insegura"
    End If

    End If

    End Sub

    Private Sub Form_Unload(Cancel As Integer)

    If verificaLogin(getUsuarioAtual, getSenhaPadrao) Then
    MsgBox "Por favor, altere sua senha antes de continuar.", _
    vbInformation, "Senha Padrão"
    Cancel = True

    End If

    End Sub


    Desde já, grato pela atenção de todos.

    Edivaldo
    avatar
    Convidado
    Convidado


    Colocar Form em 1º plano  Empty Re: Colocar Form em 1º plano

    Mensagem  Convidado 14/4/2014, 20:56

    Olá Edivaldo.

    Tenta usar a propriedade Modal (Janela Restrita) na abertura/carregamento do FAlterarSenha. Tipo:

    Me.Form.Modal = True

    Pode ser que resolva.


    Nivaldo.

      Data/hora atual: 7/11/2024, 17:53