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 : 1328
    Registrado : 18/07/2010

    [Resolvido]Tratamento de erro

    Mensagem  Agravina em Sex 03 Nov 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 : 3419
    Registrado : 14/08/2013

    Re: [Resolvido]Tratamento de erro

    Mensagem  FabioPaes em Sab 04 Nov 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 : 1328
    Registrado : 18/07/2010

    Re: [Resolvido]Tratamento de erro

    Mensagem  Agravina em Sab 04 Nov 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 : 3419
    Registrado : 14/08/2013

    Re: [Resolvido]Tratamento de erro

    Mensagem  FabioPaes em Sab 04 Nov 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 : 3419
    Registrado : 14/08/2013

    Re: [Resolvido]Tratamento de erro

    Mensagem  FabioPaes em Sab 04 Nov 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 : 1328
    Registrado : 18/07/2010

    Re: [Resolvido]Tratamento de erro

    Mensagem  Agravina em Dom 05 Nov 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 : 7139
    Registrado : 11/05/2010

    Re: [Resolvido]Tratamento de erro

    Mensagem  vieirasoft em Dom 05 Nov 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 : 1328
    Registrado : 18/07/2010

    Re: [Resolvido]Tratamento de erro

    Mensagem  Agravina em Dom 05 Nov 2017, 18:51

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

    Respeito às Regras 100%

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

    Re: [Resolvido]Tratamento de erro

    Mensagem  vieirasoft em Dom 05 Nov 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 : 3419
    Registrado : 14/08/2013

    Re: [Resolvido]Tratamento de erro

    Mensagem  FabioPaes em Dom 05 Nov 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 : 1328
    Registrado : 18/07/2010

    Re: [Resolvido]Tratamento de erro

    Mensagem  Agravina em Seg 06 Nov 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 : 3419
    Registrado : 14/08/2013

    Re: [Resolvido]Tratamento de erro

    Mensagem  FabioPaes em Seg 06 Nov 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: Ter 21 Nov 2017, 19:13