MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Tratamento de erro

    Compartilhe
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1458
    Registrado : 18/07/2010

    [Resolvido]Tratamento de erro

    Mensagem  Agravina em 3/11/2017, 21:00

    Como fazer um tratamento de erro e um campo especifico

    tipo apos enter no campo de houver erro não prosseguir ate corrigir
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Tratamento de erro

    Mensagem  FabioPaes em 4/11/2017, 12:58

    E qual o tipo de erro??? Todos?

    Experimente no Evento ao Sair do Campo, colocar:

    On error GOto F

    ' Todos os comando existentes nesse evento, se houver, devem vim aqui...

    F:
    Select Case Err.Number
       'Erros Ignorados
       Case 25001, 0
           Err.Number = 0
       Case Else
        MsgBox "Nº Erro: " & Err.Number & " - " & Err.Description, vbInformation, "Um erro Ocorreu, Informe ao Aministrador"
    me.NomeCampo.Setfocus
    End Select


    Obs: Não testei, pois não conseguir imaginar como aplicar... Esse exemplo é o de tratamento de erros padrão que uso


    .................................................................................
    _____________________________________________________________________
    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!
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1458
    Registrado : 18/07/2010

    Re: [Resolvido]Tratamento de erro

    Mensagem  Agravina em 4/11/2017, 17:09

    Seria campo numérico ,não permitir texto.
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Tratamento de erro

    Mensagem  FabioPaes em 4/11/2017, 23:38

    A sim... Nesse Caso muda tudo amigo na sua duvida...

    Tenho isso em algum lugar no meu PC... Assim q achsr eu posto.

    Mas pesquise por:

    Apenas Numero cx texto.


    .................................................................................
    _____________________________________________________________________
    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!
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Tratamento de erro

    Mensagem  FabioPaes em 4/11/2017, 23:46

    [size=37]So aceita Numeros em um campo tipo Texto.


    No evento ao PRESSIONAR TECLA colocar:


    [/size]
    Código:
    Private Sub Texto0_KeyPress(KeyAscii As Integer)

    Select Case KeyAscii
    Case 8, 44, 48 To 57    '8 é o {Backspace}, 44 é {,}, 48 a 57 sao numeros de {0} a {9}
    Case 46     '46 e o Ponto {.}, troca ponto por virgula.
    KeyAscii = 44     '44 é a virgula{,}
    Case Else
    KeyAscii = 0 'Se for qualquer outra tecla ele ignora Keyascci =0
    End Select

    End Sub


    Nesse Exemolo o campo se chama Texto0.
    Leia os comentarios do codigo, pois nele e substituido o . por ,


    .................................................................................
    _____________________________________________________________________
    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!
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1458
    Registrado : 18/07/2010

    Re: [Resolvido]Tratamento de erro

    Mensagem  Agravina em 5/11/2017, 09:08

    da erro variável não definida
    KeyAscii
    avatar
    vieirasoft
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7293
    Registrado : 11/05/2010

    Re: [Resolvido]Tratamento de erro

    Mensagem  vieirasoft em 5/11/2017, 10:28

    Bom dia. É muito simples:

    Dim KeyAscii As Integer

    If IsNumeric(Chr(KeyAscii)) <> True Then KeyAscii = 0
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1458
    Registrado : 18/07/2010

    Re: [Resolvido]Tratamento de erro

    Mensagem  Agravina em 5/11/2017, 18:51

    Não estou conseguindo acertar
    avatar
    vieirasoft
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7293
    Registrado : 11/05/2010

    Re: [Resolvido]Tratamento de erro

    Mensagem  vieirasoft em 5/11/2017, 19:49

    Private Sub seucampo_KeyPress(KeyAscii As Integer)
    If IsNumeric(Chr(KeyAscii)) <> True Then KeyAscii = 0
    End Sub

    ou
    Private Sub seucampo_KeyPress(KeyAscii As Integer)
    Dim KeyAscii As Integer
    If IsNumeric(Chr(KeyAscii)) <> True Then KeyAscii = 0
    End Sub

    ou

    Então é porque existe uma outra variável que não foi definida e que nada tem a ver com este problema. Só vendo.
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Tratamento de erro

    Mensagem  FabioPaes em 5/11/2017, 22:37

    Estranho dar esse erro, pois a Variavel e definida na Primeira Linha de Codigo....

    Eta mesmo comocando no Evento Certo?


    .................................................................................
    _____________________________________________________________________
    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!
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1458
    Registrado : 18/07/2010

    Re: [Resolvido]Tratamento de erro

    Mensagem  Agravina em 6/11/2017, 08:33

    Obrigado Fabio e Vieira funcionou da seguinte forma


    If IsNumeric(Chr(KeyAscii)) <> True Then KeyAscii = 0
    Select Case KeyAscii
    Case 8, 44, 48 To 57 '8 é o {Backspace}, 44 é {,}, 48 a 57 sao numeros de {0} a {9}
    Case 46 '46 e o Ponto {.}, troca ponto por virgula.
    KeyAscii = 44 '44 é a virgula{,}
    Case Else
    KeyAscii = 0 'Se for qualquer outra tecla ele ignora Keyascci =0
    End Select

    End Sub
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Tratamento de erro

    Mensagem  FabioPaes em 6/11/2017, 12:50

    Certo... E qual era o problema mesmo da declaração da Variável: sabe me dizer???

    Não há a necessidade dos dois Codigos Juntos (o que passei e o que Vieira passou)


    If IsNumeric(Chr(KeyAscii)) <> True Then KeyAscii = 0 <== Somente esse Resolve (somente NUMERO)



    Esse daqui, ele permite alem de Numeros, ele permite apagar o que for digitado com o BackSpace e ainda permite o . e a Virgula.
    Select Case KeyAscii
    Case 8, 44, 48 To 57 '8 é o {Backspace}, 44 é {,}, 48 a 57 sao numeros de {0} a {9}
    Case 46 '46 e o Ponto {.}, troca ponto por virgula.
    KeyAscii = 44 '44 é a virgula{,}
    Case Else
    KeyAscii = 0 'Se for qualquer outra tecla ele ignora Keyascci =0
    End Select


    .................................................................................
    _____________________________________________________________________
    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!

      Data/hora atual: 10/12/2018, 00:42