Fórum Validação simples #153501

09/04/2003

0

Pessoal,
O problema é o seguinte :
Tenho um cadastro onde o RG é minha chave primaria.
Eu preciso fazer que quando o usuario entre na tela de cadastro e for sair do meu dbeditRG no caso, ele me faça uma pesquisa para verificar se esse registro ja existe.
Se ele nao existir, continuo incluindo.
Se ja existir, passo uma mensagem informando.

Estou utilizando dbExpress, clientdataset, etc...

É meio urgente.
OBRIGADA!!!

Karina....!!!...:D..(-:


Anonymous

Anonymous

Responder

Posts

09/04/2003

Anonymous

No evento onexit do dbeditRG faça :

tabela.SQL.CLEAR;
Tabela.SQL.ADD(´Select count(*) from TABELA where RG=´´´+dbeditRG.text+´´´´)
Tabela.Open;
if Tabela.RecordCount <> 0 then
begin
dbeditRG.Setfocus;
ShowMessage(´Cadastro já existe´);
end;


Responder

Gostei + 0

09/04/2003

Anonymous

Simplificando um pouco...

inclusa na clausula uses as seguintes: DB e DBTABLES

if Table.Locate(´CAMPO_RG´,dbEditRG.text,[loCaseInsensitive,loPartialKey]) then
begin
ShowMessage(´RG já Cadastrado´);
dbEditRG.SetFocus;
Exit;
end;

Isso se vc estiver utilizando Tables


Responder

Gostei + 0

09/04/2003

Fbsouza

Karina,

tenta o seguinte coloque um + um SQLDataset no seu projeto.

sqldataset1.close;
SQLDataset1.commanttext:=´select rg from <tabela> where rg´´´+dbeditrg.text+´´´;´;
sqldataset1.open;
if not (sqldataset1.isempty) then
begin
showmessage(´Usuario com RG já cadastrado´);
dbeditrg.setfocus;
end
else
begin
clientdataset1.aplyupdates(-1);
end;

Coloque esse comandos na hora em que você for gravar os dados.

Espero ter ajudado.


Responder

Gostei + 0

09/04/2003

Marcelo

Pessoal, O problema é o seguinte : Tenho um cadastro onde o RG é minha chave primaria. Eu preciso fazer que quando o usuario entre na tela de cadastro e for sair do meu dbeditRG no caso, ele me faça uma pesquisa para verificar se esse registro ja existe. Se ele nao existir, continuo incluindo. Se ja existir, passo uma mensagem informando.


Olha carina eu te aconselho fazer isso com o CPF, pois alem de único, tem uma formatacao universal. Vou passar a funcao que serve para qualquer um é trocar o nome do edit e da tabela...

begin
TBCliente.IndexName:=´iCPF´;
TBCliente.FindNearest([ECPF.Text]);
if ECPF.Text = TBClienteCPF.Value then
begin
ShowMessage(´Cliente já cadastrado!´);
ECPF.Text := TBClienteCPF.Value;
ENome.Text := TBClienteNOME.Value;
... {e assim por diante, ate acabar os campos da tabela...}
end;
end;

Isso fara com que o cadastro do cliente seje trazido todo para o form de cadastro....

Valeu?
at+...


Responder

Gostei + 0

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

Aceitar