Validaçao de Registro!!!
31/03/2003
0
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
Posts
31/03/2003
Anonymous
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
31/03/2003
Marcelo
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+...
01/04/2003
Anonymous
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
01/04/2003
Anonymous
01/04/2003
Marcelo
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+...
Clique aqui para fazer login e interagir na Comunidade :)