[resolvido] Se não estiver cadastrado retorna mensagem: Item não cadastrado

Moderador: Avelino Sampaio

IsmaelSilva
Mensagens: 21
Registrado em: 04 Jan 2018, 23:07

[resolvido] Se não estiver cadastrado retorna mensagem: Item não cadastrado

Mensagempor IsmaelSilva » 05 Mar 2018, 23:35

Mestre Avelino,

Nas buscas neste fórum encontrei um exemplo seu que é quase o que eu estou procurando para implementar no meu projeto

Eu quero que ao digitar uma placa alfanúmerico no meu Form(Tbl_Lançamentos), no campo Chamado CBOplaca, e caso esta placa não esteja cadastrada(Cadastro as placas em uma tabela chamada Tbl_Cadastro_Frotas, onde o nome da coluna é Placa), retorna a mensagem de placa não cadastrada, e de maneira alguma me deixe prosseguir antes de cadastrar a placa.

Achei o seu exemplo abaixo, tentei implementar, e da forma que está até funcionou, mas da forma contrária, ao digitar uma placa que já existe, retorna a mensagem dizendo que já existe, e limpa o campo, e coloca o foco neste mesmo campo.

Como que seria esse código para o meu caso? Creio que é coisa pouca para altera, mas eu não sei como fazer.

Código:
If DCount("PLACA", "Tbl_Cadastro_Frotas", "CBOplaca =""" & Me!CBOPlaca & """") Then
MsgBox "O Cliente " & Me!CBOPlaca & " já existe..."
Me.Undo 'Limpa o campo
Cancel = True 'mantém o foco no campo.
End If
End Sub

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


Avatar do usuário
Avelino Sampaio
Mensagens: 1897
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Se não estiver cadastrado retorna mensagem: Item não cadastrado

Mensagempor Avelino Sampaio » 06 Mar 2018, 08:06

Ismael,

experimente:

Código:
If DCount("*", "Tbl_Cadastro_Frotas", "CBOplaca =""" & Me!CBOPlaca & """") = 0 Then
MsgBox "Placa " & Me!CBOPlaca & " não cadastrada..."
Me.Undo 'Limpa o campo
Cancel = True 'mantém o foco no campo.
End If


Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

IsmaelSilva
Mensagens: 21
Registrado em: 04 Jan 2018, 23:07

Re: Se não estiver cadastrado retorna mensagem: Item não cadastrado

Mensagempor IsmaelSilva » 06 Mar 2018, 11:05

Avelino, bom dia

Deu certo a sua sugestão, exceto colocar o foco no campo placa quando a placa não está cadastrada, coloca o foco imediatamente no campo seguinte, mesmo tendo os códigos, o que pode estar errado?

If DCount("*", "Tbl_Cadastro_Frotas", "PLACA =""" & Me!CBOPlaca & """") = 0 Then
MsgBox "Placa " & Me!CBOPlaca & " não cadastrada..."
Me.Undo 'Limpa o campo
CBOPlaca.SetFocus' Este eu coloquei, mas também não deu certo
Cancel = True 'mantém o foco no campo.
Me.[CBOPlaca].BackColor = 26367 ' Este coloquei para o campo ficar em vermelho, quando a placa não está cadastrada, mas o foco não fica neste campo.
Última edição por IsmaelSilva em 06 Mar 2018, 11:07, editado 1 vez no total.

Avatar do usuário
Avelino Sampaio
Mensagens: 1897
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Se não estiver cadastrado retorna mensagem: Item não cadastrado

Mensagempor Avelino Sampaio » 06 Mar 2018, 13:53

Ismael,

vc deve utilizar o código no evento "Antes de Atualizar".

Código:
Private Sub CBOPlaca_BeforeUpdate(Cancel As Integer)
If DCount("*", "Tbl_Cadastro_Frotas", "CBOplaca =""" & Me!CBOPlaca & """") = 0 Then
MsgBox "Placa " & Me!CBOPlaca & " não cadastrada..."
Cancel = True
Me!CBOPlaca.Undo
End If
end sub


Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


IsmaelSilva
Mensagens: 21
Registrado em: 04 Jan 2018, 23:07

Re: Se não estiver cadastrado retorna mensagem: Item não cadastrado

Mensagempor IsmaelSilva » 06 Mar 2018, 14:02

Avelino, inicialmente eu coloquei este código antes de atualizar, conforme orientação, porém aceitou uma placa que não estava cadastrada, então coloquei após atualizar e funcionou, exceto ao foco que não volta para o campo placa. Agora, novamente testei no antes de atualizar e aceitou uma placa que não está cadastrada.

Avatar do usuário
Avelino Sampaio
Mensagens: 1897
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Se não estiver cadastrado retorna mensagem: Item não cadastrado

Mensagempor Avelino Sampaio » 06 Mar 2018, 14:06

ismael,

ele aceitou a placa não cadastrada sem qualquer aviso ?

Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

IsmaelSilva
Mensagens: 21
Registrado em: 04 Jan 2018, 23:07

Re: Se não estiver cadastrado retorna mensagem: Item não cadastrado

Mensagempor IsmaelSilva » 06 Mar 2018, 14:09

Avelino, achei o erro:

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

O correto em negrito é PLACA, pois na Tabela de cadastro está dessa forma e não CBOplaca, testei e funcionou certo. Muito obrigado.

Ah! só pra fechar este código abaixo daria certo da forma que está para o meu caso? (Eu testei e não deu certo, mas eu não sou referência, pode ser que fiz algo errado)

Código:
If DCount("*", "Tbl_Cadastro_Frotas", "Placa=" & CBOPlaca) Then
msgbox "Não tem placa com esse número"
else
continua o código ...
Endif

Avatar do usuário
Avelino Sampaio
Mensagens: 1897
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Se não estiver cadastrado retorna mensagem: Item não cadastrado

Mensagempor Avelino Sampaio » 06 Mar 2018, 14:16

Ismael,

Dcount() retorna um valor 0,1,2,3,.., n

desta forma que propõe vc está comparando com TRUE(-1). Esta incorreto o uso.

Código:
If DCount("*", "Tbl_Cadastro_Frotas", "Placa=" & CBOPlaca) Then
' TRUE (-1)
else
' FALSE(0)
end if


Sucesso!
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

IsmaelSilva
Mensagens: 21
Registrado em: 04 Jan 2018, 23:07

Re: [resolvido] Se não estiver cadastrado retorna mensagem: Item não cadastrado

Mensagempor IsmaelSilva » 06 Mar 2018, 16:11

Obrigado Avelino. Esse código foi sugestão de um outro colega, porém eu não consegui de forma alguma fazer funcionar, por isso lhe perguntei se dava certo.

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.



Voltar para “Formulários”

Quem está online

Usuários neste fórum: Nenhum usuário registrado e 12 visitantes