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]Tratamento de erro

    Agravina
    Agravina
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Tratamento de erro Empty [Resolvido]Tratamento de erro

    Mensagem  Agravina 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
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Tratamento de erro Empty Re: [Resolvido]Tratamento de erro

    Mensagem  FabioPaes 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!
    Agravina
    Agravina
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Tratamento de erro Empty Re: [Resolvido]Tratamento de erro

    Mensagem  Agravina 4/11/2017, 17:09

    Seria campo numérico ,não permitir texto.
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Tratamento de erro Empty Re: [Resolvido]Tratamento de erro

    Mensagem  FabioPaes 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!
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Tratamento de erro Empty Re: [Resolvido]Tratamento de erro

    Mensagem  FabioPaes 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!
    Agravina
    Agravina
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Tratamento de erro Empty Re: [Resolvido]Tratamento de erro

    Mensagem  Agravina 5/11/2017, 09:08

    da erro variável não definida
    KeyAscii
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Tratamento de erro Empty Re: [Resolvido]Tratamento de erro

    Mensagem  vieirasoft 5/11/2017, 10:28

    Bom dia. É muito simples:

    Dim KeyAscii As Integer

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


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Tratamento de erro Empty Re: [Resolvido]Tratamento de erro

    Mensagem  Agravina 5/11/2017, 18:51

    Não estou conseguindo acertar
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Tratamento de erro Empty Re: [Resolvido]Tratamento de erro

    Mensagem  vieirasoft 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.
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Tratamento de erro Empty Re: [Resolvido]Tratamento de erro

    Mensagem  FabioPaes 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!
    Agravina
    Agravina
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Tratamento de erro Empty Re: [Resolvido]Tratamento de erro

    Mensagem  Agravina 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
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Tratamento de erro Empty Re: [Resolvido]Tratamento de erro

    Mensagem  FabioPaes 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!

    Conteúdo patrocinado


    [Resolvido]Tratamento de erro Empty Re: [Resolvido]Tratamento de erro

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/4/2024, 13:01