MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    Tratar Erro

    Compartilhe

    marcelo3092
    Novato
    Novato

    Respeito às Regras 50%

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

    Tratar Erro

    Mensagem  marcelo3092 em Ter 10 Jan 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
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: Tratar Erro

    Mensagem  hiperjohn em Ter 10 Jan 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
    Novato
    Novato

    Respeito às Regras 50%

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

    Tratar Erro

    Mensagem  marcelo3092 em Qua 11 Jan 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
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: Tratar Erro

    Mensagem  FabioPaes em Qua 11 Jan 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
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: Tratar Erro

    Mensagem  hiperjohn em Qua 11 Jan 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!


      Data/hora atual: Qui 19 Jan 2017, 23:26