Validaçao de Registro!!!

31/03/2003

0

Olá pessoal!!!

Existe a possibilidade de ser feita uma validação em um registro na hora da isenção??

Ex: tenho uma tbcliente, quando eu clicar no bt inserir, crio um registro novo no fim da tabela, quando preencho o cpf do cliente...se esse cpf já tiver sido cadastrado, gostaria que retornasse uma mensagem...e cancelasse o registro...ou mostrasse o registro já cadastrado que possui o cpf que estava cadastrando....tem como fazer??

fernandocneto@zipmail.com.br

Obrigado pela atenção!!!


Fernandocneto

Fernandocneto

Responder

Posts

31/03/2003

Anonymous

Crie uma consulta que retorne o Codigo e o Nome do ´Cliente´ e execute-a passando como parametro o CPF toda vez q for gravar um registro.

Assim vc tera o nome do Cliente q ja tem este CPF cadastrado.

Mas na hora de REGRAVAR O REGISTRO monte uma exclusao deste CPF pois senao na hora de regravar o registro vc ira encontra-lo dando uma falsa impressao de que o CPF ja esta sendo usado por OUTRO Cliente.

No BeforePost do queryCadastro...

query1.Close;
query1.Sql.Clear;
if queryCadastro.state=dsInsert then
query1.Sql.Text:=´SELECT CODIGO,NOME FROM CLIENTE WHERE CPF=´+QuotedStr(EditCPF.Text) AND CODIGO>0´
else
query1.Sql.Text:=´SELECT CODIGO,NOME FROM CLIENTE WHERE CPF=´+QuotedStr(EditCPF.Text) AND CODIGO>0´
+´ AND CPF<>´+QuotedStr(QueryCadastroCPF.AsString) AND AND CODIGO>0´

query1.open;
if Not query1.isempty then begin //Existe cliente com este CPF
showmessage(´Este CPF ja esta cadastrado para o cliente ´+query1NOME.AsString);
Abort; //Sai da Cascata de Eventos
end;

É mais ou menos assim...

Um Abraço
Werlon Goulart


Responder

31/03/2003

Marcelo

Eu faco de uma maneira melhor, bem eu acho ne, assim:
No evento onExit do ECPF.Text vc coloca um evento de busca, para ver se o CPF ja existe no cadastro, caso TabelaClienteCPF.Value = ECPF.Text ele limpa todos os campos do formCadastro e preenche com os dados do cliente ja cadastrado.
Se vc tiver mais alguma duvida, vc pode entrar em contato comigo.
Valeu?

at+...


Responder

01/04/2003

Anonymous

A dica é valida... Fazer a checagem no OnExit do Componente funciona mesmo.
Mas se o cara digitar somente alguns numeros e quiser sair do componente edit ou DBEdit ou fechar o Form, o componente perde o foco e faz a consulta com o q tiver nele.... Assim sendo, pode ocasionar problemas....

Na hora de Gravar vc pode fazer todas as checagens e se tiver OK entao gravar... Senao da mensagem de campo vazio, mal preenchido ou invalido e aborta a gravaçao.

Eu acredito mais neste jeito. A cada um resta decidir como fazer, Eu e o Marcelo apenas colocamos as ideias pra vc decidir qual fica melhor pra vc... Ou mesmo, adaptar pra melhor te servir.

Um Abraço
Werlon Goulart


Responder

01/04/2003

Anonymous

Voce pode usar um trigger Before Insert para verificar se o valor é válido ok


Responder

01/04/2003

Marcelo

[quote:fb4c52bf27=´Werlon Goulart´]A dica é valida... Fazer a checagem no OnExit do Componente funciona mesmo.
Mas se o cara digitar somente alguns numeros e quiser sair do componente edit ou DBEdit ou fechar o Form, o componente perde o foco e faz a consulta com o q tiver nele.... Assim sendo, pode ocasionar problemas....[/quote:fb4c52bf27]

Bem, mas existe uma funcao chamada [b:fb4c52bf27]try except[/b:fb4c52bf27] e vc pode usar para tratar esse tipo de erro!

Valeu?
at+...


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar