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]Ao digitar a placa se não estiver cadastrada, aparecer mensagem

    Compartilhe

    IsmaelSilva
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 189
    Registrado : 11/12/2017

    [Resolvido]Ao digitar a placa se não estiver cadastrada, aparecer mensagem

    Mensagem  IsmaelSilva em Seg 05 Mar 2018, 10:42

    Bom dia,

    Ao lançar uma placa no meu BD, gostaria que se caso a placa não estive cadastrada, após atualizar aparecesse uma mensagem de placa não cadastrada. Alguma sugestão?

    Obrigado.

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Ao digitar a placa se não estiver cadastrada, aparecer mensagem

    Mensagem  Noobezinho em Seg 05 Mar 2018, 11:31

    Ismael

    No evento antes de atualizar, utilize:


    If Dcount("*","NomeTabela,"Placa=" & me.Placa) then

      msgbox "Não tem placa com esse número"

    else

    continua o código ...

    Endif


    [ ]'s

    IsmaelSilva
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 189
    Registrado : 11/12/2017

    Re: [Resolvido]Ao digitar a placa se não estiver cadastrada, aparecer mensagem

    Mensagem  IsmaelSilva em Seg 05 Mar 2018, 14:58

    Noobezinho,

    Coloquei conforme abaixo, porém deu erro. (Operador faltando)

    Private Sub CBOPlaca_BeforeUpdate(Cancel As Integer)

    If DCount("*", "Tbl_Cadastro_Frotas", "Placa=" & CBOPlaca) Then

    MsgBox "Não tem placa com esse número"

    Else

    'continua o código ...

    End If


    End Sub

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Ao digitar a placa se não estiver cadastrada, aparecer mensagem

    Mensagem  Noobezinho em Seg 05 Mar 2018, 16:53



    If DCount("*", "Tbl_Cadastro_Frotas", "Placa=" & CBOPlaca) Then

    Veja, A Placa é somente númerico ou alfnumérico?

    Como vc diferencia isso no código?


    IsmaelSilva
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 189
    Registrado : 11/12/2017

    Re: [Resolvido]Ao digitar a placa se não estiver cadastrada, aparecer mensagem

    Mensagem  IsmaelSilva em Seg 05 Mar 2018, 17:02

    A placa está cadastrada assim: IYT 0010

    O CBOPlaca, é o campo onde digito a placa, já o nome Placa, é a coluna da minha Tabela, onde cadastro as placas e chamo de: Tbl_Cadastro_Frotas

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Ao digitar a placa se não estiver cadastrada, aparecer mensagem

    Mensagem  Noobezinho em Seg 05 Mar 2018, 17:54

    Volto à pergunta:

    Como você diferencia um campo númerico de um alfanúmerico.


    If DCount("*", "Tbl_Cadastro_Frotas", "Placa=" & CBOPlaca) Then

    CBOPlaca é numérico ou alfa numérico como faz para diferenciá-lo no código acima.

    Já deveria esta acostumado a diferenciar um campo alfanumérico de um numérico

    Já deve ter feito muitas consultas, portanto, deveria saber.

    Dica: Estude o código, entenda cada ponto, cada virgula, caso contrário, não irá progredir na programação.

    Entenda, esse código é muito simples, já deveria ter matado a charada de cara. Rolling Eyes

    IsmaelSilva
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 189
    Registrado : 11/12/2017

    Re: [Resolvido]Ao digitar a placa se não estiver cadastrada, aparecer mensagem

    Mensagem  IsmaelSilva em Ter 06 Mar 2018, 16:08

    Noobezinho,

    Eu diferencio numérico quando é apenas números e alfanumérico quando contém letras e números juntos, o que é o meu caso.

    E quanto ao código que você sugeriu, de fato pra mim não deu certo, porém consegui fazer funcionar com o código abaixo(Avelino Sampaio).


    If DCount("*", "Tbl_Cadastro_Frotas", "CBOplaca =""" & Me!CBOPlaca & """") = 0 Then
    MsgBox "Placa " & Me!CBOPlaca & " não cadastrada..."
    Cancel = True
    Me!CBOPlaca.Undo
    End If

    De qualquer forma, muito obrigado.

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Ao digitar a placa se não estiver cadastrada, aparecer mensagem

    Mensagem  Noobezinho em Ter 06 Mar 2018, 16:28

    If DCount("*", "Tbl_Cadastro_Frotas", "CBOplaca =""" & Me!CBOPlaca & """") = 0 Then


    Vejo que vc simplesmente copiou e colou o código e nem procurou saber o que estava errado nele, que alias

    está corrento, só não funcionou contigo porque ..., bom isso eu deixar pra vc  estudar e aprender, se ainda tiver interesse.

    Só pra saber, o código que pegou do Avelino é para outra coisa, no teu caso resolveria com algo mais

    simples.

    Mas, mas apesar de tudo, resolveu

    Boa sorte!

    IsmaelSilva
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 189
    Registrado : 11/12/2017

    Re: [Resolvido]Ao digitar a placa se não estiver cadastrada, aparecer mensagem

    Mensagem  IsmaelSilva em Ter 06 Mar 2018, 16:45

    Meu caro Noobezinho,

    Primeiramente deixa eu lhe dizer que não quero ficar batendo "boca" aqui no fórum, por isso ou por aquilo, como já vi isso acontecer em outros tópicos.

    Tentei de várias formas entender onde estava o meu erro, até por que também é do meu interesse saber o por que os códigos funcionam da forma que funcionam e qual a sua lógica, porém existe vários casos, que pelo menos no meu caso, eu de forma alguma consigo descobri sozinho, como foi o caso específico deste código. Tenho certeza que isso acontece não só pra mim, que aliás, apesar de estar sempre ativo quando posso no fórum, sou muito leigo, bem como outros membros aqui.

    Lhe agradeço novamente.

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Ao digitar a placa se não estiver cadastrada, aparecer mensagem

    Mensagem  Noobezinho em Ter 06 Mar 2018, 17:09

    O que estou tentando te passar é simples


    Referenciar uma caixa de texto numérico:
    If DCount("*", "Tbl_Cadastro_Frotas", "CBOplaca =" & Me!CBOPlaca ) = 0 Then

    Referenciar uma caixa de texto Alfanumérico  ou somente texto:

    If DCount("*", "Tbl_Cadastro_Frotas", "CBOplaca ='" & Me!CBOPlaca & "'") = 0 Then

    Ou seja,  variáveis e controles que tenham dados tipo textos ou alfanumériso, devem estar  entre os parênteses.

    Numa sentença SQL  ou parte dela, como no exemplo acima, como já tem parenteses então colocamos a várivel texto entre

    aspas simples, como pode ver no segundo exemplo.

    Já com variáveis e controles numéricos, não precisa, alias, se usar, dará erro.

    IsmaelSilva
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 189
    Registrado : 11/12/2017

    Re: [Resolvido]Ao digitar a placa se não estiver cadastrada, aparecer mensagem

    Mensagem  IsmaelSilva em Ter 06 Mar 2018, 17:17


    Blz, agora ficou mais claro pra mim, é que inicialmente você me sugeriu fazer conforme abaixo, aí eu me perdi todo, não entendi a sintaxe do código, mas de forma que você mencionou agora, com certeza, fica mais claro, pelo menos pra mim entender.


    If Dcount("*","NomeTabela,"Placa=" & me.Placa) then

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Ao digitar a placa se não estiver cadastrada, aparecer mensagem

    Mensagem  Noobezinho em Ter 06 Mar 2018, 19:29

    É isso aí, Ismael

    Boa sorte! Wink

      Data/hora atual: Dom 27 Maio 2018, 04:11