Ver Mensaje Individual
  #3  
Antiguo 08-04-2006
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Reputación: 19
jmariano Va por buen camino
Escribo de nuevo porque se me había olvidado dos pequeños detalles en el ejemplo anterior:

1º No se ha de buscar registros si el DataSet está en modo de edición o inserción.

2º No se ha de buscar registros si, lógicamente, el contenido del control no ha cambiado (tal y como está ahora, lo busca siempre).

Así que mejorando el ejemplo anterior, quedaría así:
Código Delphi [-]
procedure TForm1.Edit1Exit(Sender: TObject);
begin
  if Edit1.Modified and (Edit1.Text <> '') and not (DataSource1.State in [dsInser, dsEdit]) 
      and not DataSet.Locate('CODIGO', Edit.Text, []) then
  begin
    Edit1.Modified := False;
    // Escribe aquí las operacines a realizar si no encuentra el registro
  end;   
end;
(La propiedad Modified indica que el control ha sido modificado)

Saludos!
Responder Con Cita