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

    [Resolvido]Erro em tempo de execução 3044. Tratamento de erro.

    avatar
    jeanx
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 14/12/2023

    [Resolvido]Erro em tempo de execução 3044. Tratamento de erro. Empty [Resolvido]Erro em tempo de execução 3044. Tratamento de erro.

    Mensagem  jeanx 13/2/2024, 23:44

    Boa noite, pessoal!
    Preciso de uma luz para fazer o tratamento de erro de uma forma mais limpa.

    Explicação:
    Coloquei o banco de dados na rede e fui testar as possibilidades de erro. Me deparei com o erro em tempo de execução 3044.
    Quando desconecto a rede e clico em qualquer botão do formulário ocorre o erro 3044, mas o erro em si não é o problema, a mensagem de erro padrão é que é, porque tem um texto desnecessário e tem o comando "Depurar" que pode ser fatal no caso de uma pessoa leiga clicar.
    Preciso fazer o tratamento para substituir a mensagem padrão pela MsgBox.

    Consegui dessa forma:

    Private Sub btnLista_Click()

    TrataErroOn Error GoTo trata_erro

       DoCmd.OpenForm "frmDemandasLista", acNormal
       DoCmd.Close acForm, Me.Name

    trata_erro:
       If Err.Number = 3044 Then
          MsgBox "Verifique se o computador matriz está ligado e se ambos computadores estão conectados a internet - na mesma rede de internet, caso contrário, não conseguirá prosseguir.", vbCritical, "FALHA NA CONEXÃO"
       End If
       Exit Sub

    End Sub

    Mas imagine se eu precisar colocar esse código em todos os botões de comando de todos os formulários? rs
    Tentei no evento ao ocorrer erro do formulário e não funcionou, tentei de outras formas também, mas não estou acertando.
    Preciso saber como reduzir isso, possivelmente tornando público, usando módulo, mas não sei como fazer...

    [Resolvido]Erro em tempo de execução 3044. Tratamento de erro. Mensag10


    Última edição por jeanx em 24/2/2024, 18:41, editado 1 vez(es)
    avatar
    jeanx
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 14/12/2023

    [Resolvido]Erro em tempo de execução 3044. Tratamento de erro. Empty Re: [Resolvido]Erro em tempo de execução 3044. Tratamento de erro.

    Mensagem  jeanx 14/2/2024, 20:40

    Up
    gilberlanio
    gilberlanio
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 800
    Registrado : 30/08/2010

    [Resolvido]Erro em tempo de execução 3044. Tratamento de erro. Empty Re: [Resolvido]Erro em tempo de execução 3044. Tratamento de erro.

    Mensagem  gilberlanio 21/2/2024, 18:30

    Clique em depurar para vermos os códigos
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3217
    Registrado : 13/12/2016

    [Resolvido]Erro em tempo de execução 3044. Tratamento de erro. Empty Re: [Resolvido]Erro em tempo de execução 3044. Tratamento de erro.

    Mensagem  Alexandre Fim 21/2/2024, 18:58

    Olá Jean

    Faltou o EXIT SUB antes do tratamento de erro.

    Tente isso:
    Código:


    Private Sub btnLista_Click()
    On Error GoTo trata_erro

       DoCmd.OpenForm "frmDemandasLista", acNormal
       DoCmd.Close acForm, Me.Name

       '-- Alexandre Fim - Antes do tratamento de erro, deve ter o Exit Sub.
       '-- Senão ele vai passar pelo tratamento e gerar um falso Erro.
       Exit Sub
       '------------------------------------------------------------------

    trata_erro:
       If Err.Number = 3044 Then
          MsgBox "Verifique se o computador matriz está ligado e se ambos computadores estão conectados a internet - na mesma rede de internet, caso contrário, não conseguirá prosseguir.", vbCritical, "FALHA NA CONEXÃO"
       End If

       Exit Sub

    End Sub



    Att,

    Alexandre Fim


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Erro em tempo de execução 3044. Tratamento de erro. Setinf11
    Sistemas e Tecnologia Ltda

    jeanx gosta desta mensagem

    avatar
    jeanx
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 14/12/2023

    [Resolvido]Erro em tempo de execução 3044. Tratamento de erro. Empty Re: [Resolvido]Erro em tempo de execução 3044. Tratamento de erro.

    Mensagem  jeanx 24/2/2024, 18:27

    Mestre Gil, obrigado pelo retorno!
    O bd está rodando corretamente, o erro ocorre ao clicar no btn quando a internet está desativada, eu mesmo estava desativando a internet em dois computadores para fazer testes. Gostaria apenas de substituir a mensagem de erro padrão pela MsgBox de uma forma mais enxuta, mas pelo vi não tem outra alternativa a não ser colocar o código de tratamento de erro na maioria dos botões.
    Mas agradeço por ter atendido ao meu pedido!
    avatar
    jeanx
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 14/12/2023

    [Resolvido]Erro em tempo de execução 3044. Tratamento de erro. Empty Re: [Resolvido]Erro em tempo de execução 3044. Tratamento de erro.

    Mensagem  jeanx 24/2/2024, 18:35

    Alexandre, agradeço pela ajuda!

    Fiz alguns testes com a internet desligada e ligada, e quando ligada, ao clicar do btn estava aparecendo a MsgBox do tratamento de erro sem necessidade (pois o erro só ocorre quando a net está desligada), quebrei muito a cabeça e consegui fazer uma adaptação para que não aparecesse quando ligada.
    Digo isso porque a sua observação deve ser exatamente o que estava faltando no código. Obrigado!

    Conteúdo patrocinado


    [Resolvido]Erro em tempo de execução 3044. Tratamento de erro. Empty Re: [Resolvido]Erro em tempo de execução 3044. Tratamento de erro.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 16:19