Somar Horas Trabalhadas
03/07/2008
0
por exemplo a :
HorEnt1 >>>>quando entra de manha
HorSai1 >>>>quando sai para o almoco
HorEnt2 >>>>quando entra depois do almoco
HorSai2 >>>>quando sai depois do almoco
ai eu preciso fazer essa dessas entradas e saidas(os intervalos)
A minha tabela tem essa estrutura:
Codigo
Funcionario
Data
HorEnt1
HorSai1
HorEnt2
HorSai2
Eu utilizo o Firebird 2.0 e delphi 7
Robinhocne
Posts
03/07/2008
Altingon
Function DifHora(fim,Inicio : String):TdateTime; var tinicio,tfim:TDateTime; begin if (inicio = ´ : ´) and (fim = ´ : ´) then begin Tinicio := strtotime(´00:00´); Tfim := Strtotime(´00:00´); end else begin Tinicio := strtotime(inicio); Tfim := Strtotime(fim); end; If (tinicio > tfim) then begin if timetostr(tfim) = ´00:00:00´ then begin result := (StrTotime(´23:59´)+ StrToTime(´00:01´)-tinicio)+tfim end else result := (StrTotime(´23:59´)-tinicio)+tfim; end else begin result := tfim-tinicio; end; end;
03/07/2008
Robinhocne
03/07/2008
Edilcimar
Select Sum(HoraSaida) as TotalSaida, Sum(HoraEntrada), as TotalEntrada;
Total := TotalSaida - TotalEntrada
03/07/2008
Altingon
basta buscar no banco e usar a função assim:
MaskEdit5.Text := timetostr(DifHora(query.fieldbyname(´datafim´).asstring,query.fieldbyname(´dataini´).asstring)
Clique aqui para fazer login e interagir na Comunidade :)