Ver Mensaje Individual
  #1  
Antiguo 29-01-2019
shoulder shoulder is offline
Miembro
 
Registrado: abr 2008
Posts: 441
Reputación: 17
shoulder Va por buen camino
Suma Antiguedad Laboral

Una duda tengo que sumar rangos de fechas de una persona por actividad laboral:
Ej: 01/01/2015 - 02/01/2016 = 1 año y 1 un dia
01/01/2017 - 02/04/2018 = 1 año - 3 meses - 2 dias etc...


Tengo la funcion que me convierte por rango de fechas a año-mes -dia pero no encuentro nada que me sume todos los resultados y me de el valor final ya que si sumo la cantidad de dias entre todos los rangos no me da igual.


Lo que hago en ese momento es suma total de dias de todos los rangos pero se que no es real el valor.




Código Delphi [-]
....

...('select DATEDIFF(fecha_final,a.fecha_inicio) from antiguedad  
....('where documento = :docu')...
while  not zquery5.Eof do
           begin
             cantidaddias :=  zquery5.Fields[0].AsInteger + 1 ;
              sumadias := sumadias + cantidaddias;
             .....
              zquery5.Next;
           end;





  dias := sumadias;
  Resul:= dias/30.41;
  meses := trunc(resul);
  
  dias1 := dias mod 30;

 if dias1 = 1 then dias1 := 0;
  case meses of
    0:
    begin
      edit6.Text := intToStr(dias);


    end;
    1..24:
    begin
      edit5.Text := intToStr(meses);
      edit6.Text := intToStr(dias1);

    end;
  else
    begin
      edit4.Text := intToStr(meses div 12);
      edit5.Text := intToStr(meses mod 12);
      edit6.Text := intToStr(dias1);
    end;
  end;
Responder Con Cita