Pesquisar em table

Delphi

16/02/2003

Estou usando o seguinte codigo no evento onexit de um dbedit:

procedure TfCadDepart.dbeSiglaDepartExit(Sender: TObject);

begin
if DataModule1.tDepart.GotoKey then
begin
showmessage(´Departamento já cadastrado´);
dbeSiglaDepart.SetFocus;
end;
end;

agora me digam, há alguma coisa de errado?

só q naum tah funcionando. tah aparecendo a mensagem de key violation ao inves da minha showmessage, e eu ainda naum tinha nem mandado gravar.

por favor me ajudem


Pabhen

Pabhen

Curtidas 0

Respostas

Roberto Luiz

Roberto Luiz

16/02/2003

Tente algo como

if DataMOdule.table1.locate(´Nome_do_campo´, dbeSiglaDepart , [locasinsensitive])
then begin
showmessage(´Departamento já cadastrado´);
dbeSiglaDepart.SetFocus;
end;


GOSTEI 0
Pabhen

Pabhen

16/02/2003

Obg Roberto,

Mas eu ja tinha tentando dessa forma tb, mas naum deu certo.

Aparece a mesma mensagem de key violation

vc sabe como posso fazer pra fazer uma pesquisa pelo setkey?


GOSTEI 0
Anonymous

Anonymous

16/02/2003

acho que isso pode ajudar...

Inclua a unit DBITYPES na clausula uses do seu form.

procedure TForm1.Table1PostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction);
begin
if EDBEngineError(E).Errors[0].ErrorCode = 9729 then
ShowMessage(´Registro já existe!´);
Action:= daAbort;
end;


boa sorte e até mais...
qualquer duvida mail-me: balceiro@pop.com.br


GOSTEI 0
Pabhen

Pabhen

16/02/2003

Valeu balceiro,

a sua ajuda foi de grande importância, thanks.


GOSTEI 0
POSTAR