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

    Erro em Controle de Usuário (exemplo do sistema maestro)

    alozs
    alozs
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 295
    Registrado : 07/02/2018

    Erro em Controle de Usuário (exemplo do sistema maestro) Empty Erro em Controle de Usuário (exemplo do sistema maestro)

    Mensagem  alozs 17/12/2018, 14:19

    Bom dia, estou usando o controle de usuário desenvolvido pelo Mestre Avelino (maestro), mas ocorre que qualquer erro, tipo o cliente não preenche um campo e causa algum erro, o formulário atual é fechado e o sistema fica como se não estivesse usuário nenhum logado. Se tento abrir outro formulário ele não acesso bloqueado e dai tem que ficar saindo e entrando novamente no sistema, segue o código



    Código:
    Option Compare Database
    Public nlogoff As Boolean
    Public login As login
    Type login
        id  As Long
        Usuario As String * 50
    End Type

    Public Function fncLogoff()
    '----------------------------------
    'fecha todos os formulários e
    'reabre tela de login
    '----------------------------------
    On Error Resume Next
    nlogoff = False
    Call fncFechaForms(True)
    login.id = 0: login.Usuario = ""
    DoCmd.OpenForm "frmLogin", , , , , acDialog
    End Function

    Public Function fncPermissões(NomeForm As Form)
    Dim Filtro As String
    On Error Resume Next
    Filtro = "objeto = '" & NomeForm.Name & "'"
    Filtro = "Idfuncao = " & Nz(DLookup("idFuncao", "tblFunções", Filtro), 0) & " AND idUsuario =" & login.id
    If Nz(DLookup("bloqueada", "tblpermissõesUsuários", Filtro), True) = True Or login.id = 0 Then
        MsgBox "Acesso bloqueado, refaça o login no sistema!", vbInformation, "Atenção"
        DoCmd.Close acForm, NomeForm.Name
        Exit Function
    End If
    NomeForm.AllowEdits = Nz(DLookup("atualizar", "tblpermissõesUsuários", Filtro), "false")
    NomeForm.AllowDeletions = Nz(DLookup("excluir", "tblpermissõesUsuários", Filtro), "false")
    NomeForm.AllowAdditions = Nz(DLookup("inserir", "tblpermissõesUsuários", Filtro), "false")
    End Function

    Public Function fncPermissõesRpt(NomeRelatorio As Report) As Boolean
    Dim Filtro As String
    On Error Resume Next
    fncPermissõesRpt = True
    Filtro = "objeto = '" & NomeRelatorio.Name & "'"
    Filtro = "Idfuncao = " & Nz(DLookup("idFuncao", "tblFunções", Filtro), 0) & " AND idUsuario =" & login.id
    If Nz(DLookup("bloqueada", "tblpermissõesUsuários", Filtro), True) = True Or login.id = 0 Then
        MsgBox "Acesso bloqueado, refaça o login no sistema!", vbInformation, "Atenção"
        fncPermissõesRpt = False
    End If
    End Function
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2909
    Registrado : 22/11/2016

    Erro em Controle de Usuário (exemplo do sistema maestro) Empty Re: Erro em Controle de Usuário (exemplo do sistema maestro)

    Mensagem  DamascenoJr. 17/12/2018, 16:35

    Trate os erros que acontecem em seu aplicativo que isso resolve.

    ----------------------------------------------------------------------------
    private sub EventoQualquerEmFormulárioRelatórioMóduloOuClasse
    on error goto trataerro

    rotinaBláBláBlá

    sair:
    Exit sub

    trataerro:
    msgbox err.description, vbcritical,err.number
    resume sair:

    end sub
    -----------------------------------------------------------------------------


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    alozs
    alozs
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 295
    Registrado : 07/02/2018

    Erro em Controle de Usuário (exemplo do sistema maestro) Empty Re: Erro em Controle de Usuário (exemplo do sistema maestro)

    Mensagem  alozs 17/12/2018, 16:52

    sim estou tratando porem como utilizo esse sistema em alguns clientes, hora e outra cliente reclama que fica acesso bloqueado por algum erro que ele causou porem não tem como saber pois não estou no local e eu travei (com senha) o acesso ao vb e ao sistema para evitar que acessem sem autorização
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2909
    Registrado : 22/11/2016

    Erro em Controle de Usuário (exemplo do sistema maestro) Empty Re: Erro em Controle de Usuário (exemplo do sistema maestro)

    Mensagem  DamascenoJr. 17/12/2018, 17:02

    Entendo. Mas é certo que só resolverá depois de tratar o erro onde acontece. Veja com o cliente como ele faz pra você mesmo simular o ponto de erro e tratá-lo e então disponibilize o novo arquivo para ele.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    alozs
    alozs
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 295
    Registrado : 07/02/2018

    Erro em Controle de Usuário (exemplo do sistema maestro) Empty Re: Erro em Controle de Usuário (exemplo do sistema maestro)

    Mensagem  alozs 17/12/2018, 18:05

    é oque estou fazendo atualmente porem vira e mexe aparece um erro, por isso queria saber se tem como tratar esse código do mestre avelino para evitar erros futuros!
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2909
    Registrado : 22/11/2016

    Erro em Controle de Usuário (exemplo do sistema maestro) Empty Re: Erro em Controle de Usuário (exemplo do sistema maestro)

    Mensagem  DamascenoJr. 17/12/2018, 19:29

    Veja a alteração da função abaixo e utilize de forma temporária até tratar os erros do seu aplicativo. JAMAIS utilize de forma definitiva.

    Código:
    Public Function fncPermissões(NomeForm As Form)
    Dim Filtro As String
    On Error Resume Next
    Filtro = "objeto = '" & NomeForm.Name & "'"
    Filtro = "Idfuncao = " & Nz(DLookup("idFuncao", "tblFunções", Filtro), 0) & " AND idUsuario =" & login.id
    If Nz(DLookup("bloqueada", "tblpermissõesUsuários", Filtro), True) = True Or login.id = 0 Then
        'ao inves de bloquear, permito tudo
        NomeForm.AllowEdits = true
        NomeForm.AllowDeletions = true
        NomeForm.AllowAdditions = true
        Exit Function
    End If
    NomeForm.AllowEdits = Nz(DLookup("atualizar", "tblpermissõesUsuários", Filtro), "false")
    NomeForm.AllowDeletions = Nz(DLookup("excluir", "tblpermissõesUsuários", Filtro), "false")
    NomeForm.AllowAdditions = Nz(DLookup("inserir", "tblpermissõesUsuários", Filtro), "false")
    End Function

    '--------------------------------------------------------------------------------------------------------------------------
    Public Function fncPermissõesRpt(NomeRelatorio As Report) As Boolean
    Dim Filtro As String
    On Error Resume Next
    fncPermissõesRpt = True
    Filtro = "objeto = '" & NomeRelatorio.Name & "'"
    Filtro = "Idfuncao = " & Nz(DLookup("idFuncao", "tblFunções", Filtro), 0) & " AND idUsuario =" & login.id
    If Nz(DLookup("bloqueada", "tblpermissõesUsuários", Filtro), True) = True Or login.id = 0 Then
        'ao invés de bloquear, permito tudo
        fncPermissõesRpt = True
    End If
    End Function


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    alozs
    alozs
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 295
    Registrado : 07/02/2018

    Erro em Controle de Usuário (exemplo do sistema maestro) Empty Re: Erro em Controle de Usuário (exemplo do sistema maestro)

    Mensagem  alozs 17/12/2018, 20:17

    obg mais uma vez ivanjr. o problema é que esse sistema eu vou achando os erros de acordo com oque os usuários vão me reportando, estava pensando em colocar para chamar novamente a tela de login se der algum erro oque acha?
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2909
    Registrado : 22/11/2016

    Erro em Controle de Usuário (exemplo do sistema maestro) Empty Re: Erro em Controle de Usuário (exemplo do sistema maestro)

    Mensagem  DamascenoJr. 17/12/2018, 22:17

    eu vou achando os erros de acordo com oque os usuários vão me reportando
    Shocked Perda este hábito o quanto antes. Isso tira toda a sua credibilidade. E também a credibilidade do MS Access.

    Imagine um sistema onde tratará do controle de registros que envolvam dinheiro. Operações incompletas devido a erros nesses casos podem custar caríssimo para o seu cliente, e quiça para você!

    Para garantir o funcionamento adequado do seu sistema, sempre limite as ações do usuário para somente o que ele deve realmente fazer. Exemplo: nunca salvar um registro com informações incompletas, preencher campos com informações inválidas, fechar janelas em horas indevidas etc etc etc. É algo que dá trabalho, mas são ossos do ofício. Logo o desenvolvedor se aperfeiçoa.

    Minha sugestão é que você recolha o aplicativo até ele ficar de fato pronto e/ou que você trabalhe o mais rápido possível em cima das ações dos usuários do seu aplicativo, trate os erros e evite que eles aconteçam. Isso fará de você um bom profissional.

    Boa sorte. Sucesso.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    alozs
    alozs
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 295
    Registrado : 07/02/2018

    Erro em Controle de Usuário (exemplo do sistema maestro) Empty Re: Erro em Controle de Usuário (exemplo do sistema maestro)

    Mensagem  alozs 18/12/2018, 13:36

    sim ivanjr, já perdi o hábito é que muitas vezes os usuários fazem coisas que nunca imaginamos que pudesse ser feito dai fica difícil tentar tratar todos os erros que o usuário imagina fazer, mais muito obg pela dica com certeza estou desenvolvendo outros sistemas e já estou adotando essa prática
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2909
    Registrado : 22/11/2016

    Erro em Controle de Usuário (exemplo do sistema maestro) Empty Re: Erro em Controle de Usuário (exemplo do sistema maestro)

    Mensagem  DamascenoJr. 18/12/2018, 13:42

    Minha dica da mensagem nº 6 resolveu o problema da mensagem pedindo pra reiniciar o aplicativo?


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    alozs
    alozs
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 295
    Registrado : 07/02/2018

    Erro em Controle de Usuário (exemplo do sistema maestro) Empty Re: Erro em Controle de Usuário (exemplo do sistema maestro)

    Mensagem  alozs 19/12/2018, 16:46

    ivan pra ser bem sincero não vou utilizar não, vou tentar procurar todos os erros no projeto pra evitar de usar esse código, realmente é muito complicado utilizar ele

      Data/hora atual: 1/8/2021, 11:08