Pesquisar em table
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
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
Curtidas 0
Respostas
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;
if DataMOdule.table1.locate(´Nome_do_campo´, dbeSiglaDepart , [locasinsensitive])
then begin
showmessage(´Departamento já cadastrado´);
dbeSiglaDepart.SetFocus;
end;
GOSTEI 0
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?
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
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
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
16/02/2003
Valeu balceiro,
a sua ajuda foi de grande importância, thanks.
a sua ajuda foi de grande importância, thanks.
GOSTEI 0