Hola _CALI.
Cita:
|
Se puede utilizar al componente asociado al campo codigo: DBEdit1, para poder ingresar un codigo para buscar a los clientes,
|
Si se puede, indicándole ántes que acción queremos hacer. Esta es una forma:
Código Delphi
[-]
type
TForm1 = class(TForm)
...
private
procedure CodigoSetSetText(Sender: TField; const Text: string);
public
end;
...
implementation
procedure TForm1.CodigoSetSetText(Sender: TField; const Text: String);
begin
if not DataSet.Locate('NAME',Text,[]) then
ShowMessage('No encontrado');
end;
procedure TForm1.btnBuscarClick(Sender: TObject);
begin
DataSet.FieldByName('NAME').OnSetText:= DataSetSetText;
end;
procedure TForm1.btnEditarClick(Sender: TObject);
begin
DataSet.FieldByName('NAME').OnSetText:= nil;
DataSet.Edit;
end;
procedure TForm1.btNuevoClick(Sender: TObject);
begin
DataSet.FieldByName('NAME').OnSetText:= nil;
DataSet.Append;
end;
...
En este ejemplo el
TButton btnBuscar se vale del evento
OnSetText del campo. Que ocurre cuando el texto recibe un nuevo valor (pero antes de ser almacenado), para realizar una busqueda, posicionándose en el registro o informando si no se encontró.
Los
TButton btnEditar y btnNuevo ponen el DataSet en modo Edit e Insert respectivamente desvinculando el método CodigoSetSetText del evento
OnSetText.
Ahora una cosa es que se pueda y otra si es recomendable.
Particularmente creo que es un modo rebuscado y se presta para confundir al usuario además de complicar el código.
Saludos.