Pesquisar em table

16/02/2003

0

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

Responder

Posts

16/02/2003

Roberto Luiz

Tente algo como

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


Responder

16/02/2003

Pabhen

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?


Responder

16/02/2003

Anonymous

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


Responder

16/02/2003

Pabhen

Valeu balceiro,

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


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