Fórum Duvida onexit dbedit #511902

25/02/2015

0

Quando eu tento fazer a validação no OnExit do DBEdit o procedimento abaixo não é executado,

procedure TfrmCRecinto.Edit1Exit(Sender:TObject);
begin
 DMCadastro.ZQuery2.close;
 DMCadastro.ZQuery2.ParamByName('NURECINTO').Value := DBEdit1.Text;
 DMCadastro.ZQuery2.OPen;
 if not DMCadastro.ZQuery2.IsEmpty  then
 begin
      ShowMessage('Registro duplicado');
      DBEdit1.SetFocus;
      DBEdit1.Clear;
      exit;
   end;
end;



Mas quando realizo a alteração e utilizo no OnExit do Edit é executado com sucesso.

procedure TfrmCRecinto.Edit1Exit(Sender:TObject);
begin
 DMCadastro.ZQuery2.close;
 DMCadastro.ZQuery2.ParamByName('NURECINTO').Value := Edit1.Text;
 DMCadastro.ZQuery2.OPen;
 if not DMCadastro.ZQuery2.IsEmpty  then
 begin
      ShowMessage('Registro duplicado');
      Edit1.SetFocus;
      Edit1.Clear;
      exit;
   end;
end; 
Rafael

Rafael

Responder

Posts

25/02/2015

Thiago Santana

Existe um diferença entre utilizar o DBEdit e o Edit.
Tratando-se do DBEdit o seu evento terá que ser no OnExit do Field que está ligado ao seu DBEdit.
Responder

Gostei + 0

26/02/2015

Itamar Souza

Amigo
Este comando valida os campos antes de gravar, mesmo que o usuário tenha saído do campo usando o mouse.
ActiveControl := nil;
Responder

Gostei + 0

24/04/2015

Rodrigo Martins

Amigo , eu uso um codigo bem simples, um LOCATE no em exit seja na edit ou no Dbedit quando sair da Edit logo manda mensagem se ja existe o cadastro !

with DataModule2.ibconsultarelgeral do
begin
//*faz a busca no DataSet (qry ou Table -.-')

if Locate('CODTOMBO', DBEdit1.text, [loCaseInsensitive,loPartialKey]) then
begin
ShowMessage('Tombo ja registrado!');
DBEdit1.Clear;
DBEdit1.SetFocus;
end;
end;
Responder

Gostei + 0

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

Aceitar