Validação simples
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..(-:
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
Curtidas 0
Respostas
Anonymous
09/04/2003
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;
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;
GOSTEI 0
Anonymous
09/04/2003
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
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
GOSTEI 0
Fbsouza
09/04/2003
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.
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.
GOSTEI 0
Marcelo
09/04/2003
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+...
GOSTEI 0