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


3 participantes

    Tratar Erro

    marcelo3092
    marcelo3092
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 299
    Registrado : 19/08/2010

    Tratar Erro Empty Tratar Erro

    Mensagem  marcelo3092 10/1/2017, 22:39

    Ola amigos gostaria de uma ajuda estou tentando fazer um tratamento de erro porem to ficando doido e no evento ao abrir de um formulario, que aparece a mensagem do código e depois aparece a açao open form foi cancelada erro 2501 o codigo e esse
    Private Sub Form_Open(Cancel As Integer)
    On Error GoTo Err_TrataErro
     If DLookup("[AbrirClientes]", "usuario", "[login] = txtUsuarioAtual") Then
     

     Else
       
       MsgBox "Acesso Negado, Usuário não Permitido.", _
             vbOKOnly + vbCritical, "SISTEMA VENDAS."
    Cancel = True

     End If
    Exit_TrataErro:
     Exit Sub
    Err_TrataErro:
    MsgBox "Não existe divisão por zero !!!!"
    End Sub

    gostaria de fazer com que ele não apareça mais vcs poderia me ajudar?
    hiperjohn
    hiperjohn
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 97
    Registrado : 06/06/2013

    Tratar Erro Empty Re: Tratar Erro

    Mensagem  hiperjohn 10/1/2017, 23:54

    Veja se ajuda:

    Private Sub Form_Open(Cancel As Integer)
     
      If Not IsNull(DLookup("[AbrirClientes]", "usuario", "[login] = txtUsuarioAtual")) Then
           ***código de abertura***
      Else  
            MsgBox "Acesso Negado, Usuário não Permitido.", vbOKOnly + vbCritical, "SISTEMA VENDAS."
           Cancel = True
      End If
    End Sub
    marcelo3092
    marcelo3092
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 299
    Registrado : 19/08/2010

    Tratar Erro Empty Tratar Erro

    Mensagem  marcelo3092 11/1/2017, 14:04

    Então amigo até funciono porem ele não pode abrir o formulario pois ele verifica se o usuario atual tem permissão para abrir o formulario, se na tabela usuario tem o campo abrir clientes marcado como sim, ai se ele não aparece a mensagem e cancela a ação. seu código não apareceu a mensagem porem abriu o formulario normal.
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    Tratar Erro Empty Re: Tratar Erro

    Mensagem  FabioPaes 11/1/2017, 14:29

    If DLookup("[AbrirClientes]", "usuario", "[login] = txtUsuarioAtual")=-1 Then
    ***código de abertura***
    Else
    MsgBox "Acesso Negado, Usuário não Permitido.", vbOKOnly + vbCritical, "SISTEMA VENDAS."
    Cancel = True
    End If


    Experimente assim!

    Se o valor do campo AbrirCliente=-1 (marcado) ele libera abertura!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    hiperjohn
    hiperjohn
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 97
    Registrado : 06/06/2013

    Tratar Erro Empty Re: Tratar Erro

    Mensagem  hiperjohn 11/1/2017, 14:34

    Amigo, o Dlookup tem que retornar "Sim" ou o nome do usuário logado?
    Se ele tem que retornar "Sim", o código seria parecido com esse:

    Dim permissao As String

    If Not IsNull(DLookup("AbrirCliente", "usuario", "Usuario = '" & UsuarioLogado & "'")) Then
    permissao = DLookup("AbrirCliente", "usuario", "Usuario = '" & UsuarioLogado & "'")
    End If

    If permissao <> "Sim" Then
    MsgBox "Acesso Negado, Usuário não Permitido.", vbOKOnly + vbCritical, "SISTEMA VENDAS."
    Cancel = True
    End If


    Outra coisa: o usuário logado tem que estar numa variável global e pública, de modo que a informação seja acessada por qualquer formulário no projeto.

    Abraços!


    Conteúdo patrocinado


    Tratar Erro Empty Re: Tratar Erro

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 19:34