Duvida com SQL Qreport...

27/09/2004

Ola a todos...

Estou com algums pequenos problemas.... Ja procurei infinito no forum mas nao achei nada relacionado...

Usando Paradox / Query

Eu tenho uma tabela com os sequintes dados:

00000034241 12/05/2004 12:00 Entrada
00012533432 13/05/2004 10:32 Saida
02345466457 14/05/2004 18:01 Saida
...

Estou fazendo uma pesquisa por CPF e Data e no qreport gostaria que imprimi-se um relatorio assim:


       Entrada                 Saída
  
        08:23                   11:49
        13:49                   18:23

Total de Horas : 10 horas 



Ou seja minha duvida é como fazer as colunas Entrada/Saida e fazer o somatório das horas...

E em uma consulta por mes me retornase um relatório +- assim:

     DIA                  ENTRADA           SAIDA          TOTAL DE HORAS

01/08/2004               08:05              18:51                 08:12
02/08/2004               08:15              18:34                 09:22
03/08/2004               08:23              18:11                 07:11
04/08/2004               07:45              18:02                 10:11


Os dias com a primeira Entrada e a Ultima Saida do dia e o total de horas...

Agradeço qualquer ajuda!! :P

ps:. Se nao fui muito claro me avisem



[b:87cce4552f]Título editado.[/b:87cce4552f]
Sandra/Moderação


Did_tux

Respostas

27/09/2004

Vinicius2k

[b:3d068f33e3][color=red:3d068f33e3]Notificação de Infração às Regras de Conduta :[/color:3d068f33e3][/b:3d068f33e3]

Colega,

Neste tópico ocorreu(ram) infração(ões) às Regras de Conduta do Fórum.

Infração(ões):
[list:3d068f33e3]
[*:3d068f33e3]Utilização de ´apelações´ no título da mensagem.
[/list:u:3d068f33e3]

Peço que leia atentamente as [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689]Regras de Conduta[/url] para evitar que este fato se repita.

Se algum esclarecimento sobre o funcionamento do fórum ou sobre as Regras de Conduta for necessário, estou à sua disposição para ajudar-lhe. Se desejar, envie-me uma [url=http://delphiforum.icft.com.br/forum/privmsg.php?mode=post&u=2796]Mensagem Particular[/url].


Responder Citar

27/09/2004

Did_tux

Vinicius2K: Peço desculpas ao ocorrido, mas ainda continuo procurando ajuda..
;)
grato
DiDi


Responder Citar

27/09/2004

Vinicius2k

Colega,

Fico grato pela compreensão. E não se preocupe: Creio que você foi suficientemente claro na sua questão e, se existir uma resposta, com certeza ela lhe será dada aqui.

Infelizmente, não posso lhe ajudar pois não tenho experiência com o QuickReport, que é o alvo desta questão. Mas existem vários colegas que poderão lhe ajudar.

T+


Responder Citar

28/09/2004

Aroldo Zanela

Colega,

Para calcular o tempo, você deve converter para a mesma base, ou seja, minutos. Basta subtrair o tempo final pelo inicial para achar o tempo decorrido e depois converter para hh:mm. Avance nesta etapa que em seguida a gente avança com a questão do QR.


Responder Citar

28/09/2004

Did_tux

var
d1 : TTime;
d2 : TTime;
total :TTime;
Totalhoras : Integer;
VerificaMin :Integer;
//variaveis para usar na funcao decodetime
Hour :word;
Min  :word;
Sec  :word;
Msec :Word;
Hour2 :word;
Min2  :word;
Sec2  :word;
Msec2 :Word;
Hourt :word;
Mint  :word;
Sect  :word;
Msect :Word;
begin
  d1 := StrToTime(Edit1.Text);
  d2 := StrToTime(Edit2.Text);
  //soma as horas
  total := d1+d2;
  //funcao que da horas minutos, segundos e milisegungos
  DecodeTime(d1, Hour, Min, Sec, MSec);
  DecodeTime(d2, Hour2, Min2, Sec2, MSec2);
  DecodeTime(total, Hourt, Mint, Sect, MSect);
  //Exibe a quantidade de horas em integer :o) yeah
  Totalhoras:=hour + hour2;
  VerificaMin:=0;
  if(Totalhoras >= 24) then
  begin
     if(Min + min2 > 59) then
        VerificaMin:= VerificaMin+1;
     TotalHoras :=  TotalHoras + VerificaMin;
     Edit3.Text := IntToStr(TotalHoras) + ´:´ +inttostr(Mint);
  end
  else
     Edit3.Text := inttostr(Hourt) + ´:´ +inttostr(Mint) ;
end; 


No calculo de Horas vou usar algo assim... Mas como faço para pegar o primeiro registro do dia substituir em [b:a0aa62df95]Edit1.Text[/b:a0aa62df95] e o ultimo registro de dia e substituir em [b:a0aa62df95]Edit2.Text[/b:a0aa62df95]...


Responder Citar

28/09/2004

Did_tux

Ninquem :(

Será que não fui muito claro ?


Responder Citar

01/10/2004

Did_tux

Ultimo Up :cry:


Responder Citar