unit UBuscar;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Data.Win.ADODB, Vcl.StdCtrls,
  Vcl.Buttons, Vcl.Grids, Vcl.DBGrids;

type
  TFBuscar = class(TForm)
    DBGrid1: TDBGrid;
    Label1: TLabel;
    txtNombre: TEdit;
    QBuscar: TADOQuery;
    DSBuscar: TDataSource;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    procedure txtNombreChange(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FBuscar: TFBuscar;

implementation

{$R *.dfm}

uses Udm;

procedure TFBuscar.FormActivate(Sender: TObject);
begin
 txtNombre.SetFocus;
end;

procedure TFBuscar.txtNombreChange(Sender: TObject);
var
   sentencia: string;
begin
   sentencia:= 'SELECT Personal.ide, trim([Personal.Nombre]) & " " & [Personal.Apaterno] &" " & ' +
   '[Personal.AMaterno] As NombreCom,    CatPuestos.Puesto, CatAreas.Area, CatLugares.Lugar ' +
   ' FROM ((Personal LEFT JOIN CatPuestos ON Personal.Puesto = CatPuestos.ide) LEFT JOIN CatAreas' +
   ' ON Personal.Area = CatAreas.ide) LEFT JOIN CatLugares ON Personal.Lugar = CatLugares.ide ';
   sentencia := sentencia + ' Where (trim([Personal.Nombre]) & " " & [Personal.Apaterno] &" " & [Personal.AMaterno]) like ' + chr(39) + '%' + txtNombre.Text +  '%' + chr(39);
  with QBuscar do
   begin
     active:= false;
     sql.Clear;
     sql.Add(sentencia);
     active:= true;
   end;

end;

end.
