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


5 participantes

    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    avatar
    Thel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 114
    Registrado : 19/06/2012

    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. Empty [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    Mensagem  Thel 20/8/2018, 21:43

    Olá a todos!

    Alguém aí teria algum código VBA que exiba uma mensagem quando for digitado determinado caractere dentro de uma caixa de texto?
    Exemplo: eu quero que quando o usuário digitar o caractere traço de menos ("-"), sozinho ou acompanhado de outros caracteres dentro de um determinado texto na caixa de texto, apareça a mensagem: "não é permitido o uso do traço de menos '-'".

    Grato.
    avatar
    JOSEMORAES
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 220
    Registrado : 23/02/2011

    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. Empty Re: [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    Mensagem  JOSEMORAES 20/8/2018, 22:01

    Porque não usa "Ao pressionar a tecla".

    Veja esse código:

    Public Function SemLetras(Key As Integer) As String
    Const NumerosPermitidos$ = "0123456789"
    SemLetras1 = Key
    If Key <> 8 Then
    If InStr(NumerosPermitidos$, Chr(Key)) = 0 Then
    SemLetras1 = 0
    End If
    End If
    End Function


    Veja que somente será permitido numeros, caso deseje acrescentar mais algum carácter fique a vontade

    La no seu campo use esse função "Ao pressionar a tecla", assim caso o usuário desejar pressionar a tecla "-", não será emitido aviso, mas não vai deixa-lo digitar



    .................................................................................
    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. 10715412
    avatar
    Thel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 114
    Registrado : 19/06/2012

    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. Empty Re: [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    Mensagem  Thel 20/8/2018, 23:06

    Tem como você adaptar esse código para mim?
    No caso eu quero que faça essa verificação no evento AO CLICAR do botão BotaoConsultar. O nome da caixa de texto onde o dado será digitado é txtTudo.

    Eu quero somente que apareça uma mensagem de erro, se o usuário digitar o traço de menos ("-") na caixa de texto txtTudo. Mesmo que seja digitado o traço de menos junto com outros caracteres, por exemplo: ABC-012, A-0001, ABCD-0 ou o traço de menos sozinho.

    Abraços e obrigado pela atenção! Very Happy
    avatar
    Thel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 114
    Registrado : 19/06/2012

    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. Empty Re: [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    Mensagem  Thel 21/8/2018, 14:16

    Eu criei este código VBA e deu certo:

    If [TxtTudo] = "-" Then
    DoCmd.Beep
    MsgBox "É PROIBIDO O USO DO TRAÇO '-'." , vbCritical, "ERRO"
    Me.TxtTudo = Null
    DoCmd.GoToControl "txtTudo"

    Porém não funciona se eu digitar o traço com outros caracteres, por exemplo: -abc, abc-, a-bc, ab-c. Funciona somente se eu digitar o traço sozinho.

    Alguém teria uma sugestão para a solução desse problema?
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5078
    Registrado : 20/04/2011

    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. Empty Re: [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    Mensagem  Silvio 21/8/2018, 14:38

    Bom dia...

    Não sei se vai funfar...mas teste ai....

    If [TxtTudo] = "-" or "*-" or "-*"Then


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    avatar
    Thel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 114
    Registrado : 19/06/2012

    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. Empty Re: [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    Mensagem  Thel 21/8/2018, 14:48

    Infelizmente não, deu a mensagem "erro em tempo de execução 13. tipos incompatíveis".
    FranklinJSP
    FranklinJSP
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 479
    Registrado : 25/02/2016

    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. Empty Re: [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    Mensagem  FranklinJSP 21/8/2018, 14:53

    Tente isso
    Código:

    Dim X
        X = InStr(1, [TxTudo], "-")
        If X > 0 Then
           DoCmd.Beep
           MsgBox "É PROIBIDO O USO DO TRAÇO '-'." , vbCritical, "ERRO"
           Me.TxtTudo = Null
           Me.TxtTudo.SetFocus
        End If

    Espero ter ajudado
    Saludos desde Bolivia


    .................................................................................
    Meu Português não é muito bom,
    mas eu gosto de colaborar... em qualquer idioma
    Smile "Access... minha paixão"
    avatar
    Thel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 114
    Registrado : 19/06/2012

    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. Empty Re: [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    Mensagem  Thel 21/8/2018, 15:05

    O código:
    Dim X
    X = InStr(1, [TxTudo], "-")
    If X > 0 Then
    DoCmd.Beep
    MsgBox "É PROIBIDO O USO DO TRAÇO '-'." , vbCritical, "ERRO"
    Me.TxtTudo = Null
    Me.TxtTudo.SetFocus
    End If

    Deu erro nesta parte:
    X = InStr(1, [TxTudo], "-")

    O erro:
    "erro em tempo de execução 2465: o Microsoft Access não pode localizar o campo '|1' referido em sua expressão.
    FranklinJSP
    FranklinJSP
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 479
    Registrado : 25/02/2016

    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. Empty Re: [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    Mensagem  FranklinJSP 21/8/2018, 15:07

    X = InStr(1, [TxTudo], "-")

    faltou "t" em TxtTudo

    X = InStr(1, [TxtTudo], "-")


    .................................................................................
    Meu Português não é muito bom,
    mas eu gosto de colaborar... em qualquer idioma
    Smile "Access... minha paixão"
    avatar
    Thel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 114
    Registrado : 19/06/2012

    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. Empty Re: [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    Mensagem  Thel 21/8/2018, 15:12

    Até eu não prestei atenção no nome do campo! rsrsrsrs...
    Show de bola!
    Como dizemos aqui no Brasil: teu código "FUNFOU" legal! rsrsrsrs...

    Obrigado pela tua valiosa atenção e SALUDO DESDE BRAZIL!

    cheers cheers cheers lol! lol! lol!
    FranklinJSP
    FranklinJSP
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 479
    Registrado : 25/02/2016

    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. Empty Re: [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    Mensagem  FranklinJSP 21/8/2018, 15:14

    Que bom!!!
    lol! lol! lol!


    .................................................................................
    Meu Português não é muito bom,
    mas eu gosto de colaborar... em qualquer idioma
    Smile "Access... minha paixão"
    avatar
    JOSEMORAES
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 220
    Registrado : 23/02/2011

    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. Empty Re: [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    Mensagem  JOSEMORAES 21/8/2018, 16:31

    Na minha humilde opinião, acho desnecessário ter que deixar o usuário, preencher o campo e depois clicar no botão, para então sim dar uma mensagem de proibição de caracteres.

    Continuo com proposta de inibir esse caractere na ação "Ao pressionar a tecla"

    Mas claro, é apenas a minha opinião

    Valeu, bons estudos


    .................................................................................
    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. 10715412
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7920
    Registrado : 15/03/2013

    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. Empty Re: [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    Mensagem  Alvaro Teixeira 21/8/2018, 16:46

    Olá a todos,

    Jose, pesquise no fórum ao primir a tecla.

    Tema diversa vezes abordado.

    cheers
    avatar
    Thel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 114
    Registrado : 19/06/2012

    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. Empty Re: [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    Mensagem  Thel 21/8/2018, 17:19

    Vou tentar essa ideia de José Moraes, porque é bem mais prático mesmo. No caso o código no evento AO PRESSIONAR TECLA ficaria como? Este é o código atual:
    Dim X
    X = InStr(1, [TxtTudo], "-")
    If X > 0 Then
    DoCmd.Beep
    MsgBox "É PROIBIDO O USO DO TRAÇO '-'." , vbCritical, "ERRO"
    Me.TxtTudo = Null
    Me.TxtTudo.SetFocus
    End If

    Observação:
    No evento AO PRESSIONAR TECLA já tenho este código inserido para forçar a digitação em letras maiúsculas:
    KeyAscii = Asc(UCase(Chr(KeyAscii)))


    Como ficaria os dois códigos juntos?
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7920
    Registrado : 15/03/2013

    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. Empty Re: [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    Mensagem  Alvaro Teixeira 21/8/2018, 18:06

    Thel, não fez uma Busca aqui no fórum!

    Veja por exemplo, é só ajustar:
    https://www.maximoaccess.com/t2898-resolvidoproibir-conjunto-de-caracter-ao-mesmo-tempo

    Abraço a todos
    avatar
    JOSEMORAES
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 220
    Registrado : 23/02/2011

    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. Empty Re: [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    Mensagem  JOSEMORAES 21/8/2018, 18:48

    KeyAscii = Asc(UCase(Chr(KeyAscii)))
    KeyAscii = SemLetras(KeyAscii)


    .................................................................................
    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. 10715412
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7920
    Registrado : 15/03/2013

    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. Empty Re: [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    Mensagem  Alvaro Teixeira 22/8/2018, 11:21

    Olá a todos,

    Thel, seria algo assim:
    Código:
    Private Sub NomeCliente_KeyPress(KeyAscii As Integer)
    'ahteixeira 2018 - MaximoAccess
        If Chr(KeyAscii) = "-" Then
            KeyAscii = 0
            MsgBox "Caracter não permitido.", vbCritical, "Aviso"
        End If
    End Sub

    Montei um exemplo

    Abraço a todos
    Anexos
    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. AttachmentAoPrimirTecla.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (20 Kb) Baixado 21 vez(es)
    avatar
    Thel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 114
    Registrado : 19/06/2012

    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. Empty Re: [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    Mensagem  Thel 22/8/2018, 19:36

    Prezados amigos José Moraes, Sílvio, FranklinJSP, AhTeixeira,

    Problema resolvido!

    O código para o botão de comando que funcionou perfeitamente:
    Autor: FranklinJSP
    Dim X
    X = InStr(1, [TxtTudo], "-")
    If X > 0 Then
    DoCmd.Beep
    MsgBox "É PROIBIDO O USO DO TRAÇO '-'." , vbCritical, "ERRO"
    Me.TxtTudo = Null
    Me.TxtTudo.SetFocus
    End If


    O código para o evento AO PRESSIONAR TECLA da caixa de texto TxtTudo que funcionou perfeitamente:
    Autor: Eu
    If KeyAscii = 45 Then
    MsgBox "É PROIBIDO O USO DO TRAÇO '-'." , vbCritical, "ERRO"
    KeyAscii = 0
    Me.TxtTudo.Undo
    Me.TxtTudo.SetFocus
    Else
    End If


    Grato pela contribuição de cada um de vocês.

    Um forte abraço! cheers cheers cheers cheers
    FranklinJSP
    FranklinJSP
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 479
    Registrado : 25/02/2016

    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. Empty Re: [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    Mensagem  FranklinJSP 23/8/2018, 15:55

    Que bom!!! Funcionou!!!

    lol! lol! lol!


    .................................................................................
    Meu Português não é muito bom,
    mas eu gosto de colaborar... em qualquer idioma
    Smile "Access... minha paixão"
    avatar
    Thel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 114
    Registrado : 19/06/2012

    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. Empty Re: [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    Mensagem  Thel 23/8/2018, 15:58

    lol! lol! lol!
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7920
    Registrado : 15/03/2013

    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. Empty Re: [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    Mensagem  Alvaro Teixeira 23/8/2018, 16:13

    Olá a todos,

    Thel , obrigado pelo retorno, o fórum agradece.

    cheers
    avatar
    Thel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 114
    Registrado : 19/06/2012

    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. Empty Re: [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    Mensagem  Thel 23/8/2018, 16:17

    Obrigado a você, A. H. Teixeira, e a todos os colaboradores!

    lol! lol! lol!

    Conteúdo patrocinado


    [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto. Empty Re: [Resolvido]Código VBA para avisar quando o usuário digitar um determinado caractere na caixa de texto.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 11/5/2024, 06:10