unit UElegirBaja;

interface

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

type
  TFElegirBaja = class(TForm)
    ComboBox1: TComboBox;
    Memo1: TMemo;
    Label1: TLabel;
    BitBtn1: TBitBtn;
    pruebas: TADOQuery;
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FElegirBaja: TFElegirBaja;

implementation

{$R *.dfm}

uses UBajas, Udm;

Function Existe(Consulta: TADOQuery; curp: string): integer;
  var
    cade, para: string;
 begin
   para:= chr(39) + curp + chr(39);
   cade:= 'Select IdEmpleado from Empleados where Curp = ' + para + ' or Curp_2 = ' + para;
   with Consulta do
    begin
      active:= false;
      sql.Clear;
      sql.Add(cade);
      active:= true;
    end;
    if Consulta.RecordCount > 0 then
    result:= Consulta.fieldbyname('IdEmpleado').AsInteger
    else
     result:= 0;
 end;

procedure TFElegirBaja.BitBtn1Click(Sender: TObject);
 var
   idemp: integer;
begin
with Fbajas do
 begin
   Timporta.Active:=false;
   Timporta.TableName:= FElegirBaja.Combobox1.Text;
   Timporta.Active:=true;
   TImporta.First;
   TNodos.Active:= false;
   TNodos.Active:= true;
   Screen.Cursor:= CrHourGlass;
   while not(Timporta.Eof) do
    begin
      idemp:= Existe(pruebas, Timporta.Fields.FieldByNumber(1).Asstring);
       if idemp > 0 then
       begin
        TNodos.Locate('IdEmpleado',idemp,[]);
        //TNodos.Locate('Curp',Timporta.Fields.FieldByNumber(1).Asstring,[]);
        TNodos.edit;
        TNodos.FieldByName('Elegido').Asboolean:=  true;
        TNodos.FieldByName('FechaBaja').ASDatetime:=  Timporta.Fields.FieldByNumber(2).ASDatetime;
        TNodos.FieldByName('MotivoBaja').AsInteger:=  Timporta.Fields.FieldByNumber(3).AsInteger;
        //TNodos.FieldByName('Fecha_Nac').ASDatetime := Timporta.Fields.FieldByNumber(2).ASDatetime;
        TNodos.Post;
       end
       else
       FElegirBaja.memo1.Lines.Add(Timporta.Fields.FieldByNumber(1).Asstring);
       TImporta.Next;
    end;
   TNodos.Active:= false;
  TNodos.Active:= true;
  bitbtn1.Enabled:=true;
  Screen.Cursor:= CrDefault;
  messagedlg('Importación terminada',mtinformation,[mbok],0);
 end;

 { FBajas.TNodos.Filtered:= false;
  FBajas.TNodos.Filter:= 'Curp_2 <> ' + QuotedStr(chr(39)) + QuotedStr(chr(39));
  FBajas.TNodos.Filtered:= true;
  FBajas.TNodos.First;
  while not (FBajas.TNodos.Eof) do
  begin
    Pruebas.SQl.Clear;
    pruebas.SQL.Add('Update siri set Curp_2 = ' + chr(39) +FBajas.TNodos.FieldByName('Curp_2').AsString +  chr(39) +' where IdEmpleado = ' + inttostr(FBajas.TNodos.FieldByName('IdEmpleado').AsInteger));
    Pruebas.ExecSQL;
    FBajas.TNodos.Next;
  end;        }


end;

end.
