Relatório com intervalo entre datas
[color=red:b6f80b5261]Título editado por Massuda
Por favor, procure usar um título descritivo.[/color:b6f80b5261]
Preciso muito de ajuda, tem um trabalho na Faculdade que empacou pois o problema é o seguinte:
No sistema é cadastrado todas as viagens, e nessa tabela eu tenho a Data e hora de Saída e a Data e hora de retorno.
Dai tenho que fazer um relatorio que ele traga liga a linha cada viagem qts horas de, tipo pega a data e hora de chegada e subtrair da data e hora de saida, mais o problema é que nesse relatorio a pessoa entra com o intervalo de datas que ela quer, exemplo:
Data da Saida: 15/09/2006 12:30
Data de Volta: 18/09/2006 16:00
Intervalo de Pesquisa: 14/09/2006 à 17/09/2006
Entenderam esse calculo ele tem que desconsiderar o dia 18, pois eles querem o tempo de viagem somente nesse intervalo
Hacknux
Curtidas 0
Respostas
Sremulador
27/09/2006
Amigo faz um extract no mês e diminui a quantidade que desejar...
GOSTEI 0
Hacknux
27/09/2006
Cara mais nao consigo visualizar, como vou fazer isso, tipo sei q tenho que tirar 14hrs do exemplo que passei, mais me ajuda e me da uma luz de como faço um codigo pra isso ifcar automatico
Desde já agradeço
Desde já agradeço
GOSTEI 0
Cmtbravo
27/09/2006
Cara, num entendi bem, mas acho que vc quer fazer uma consulta entre datas né?
Você pode usar o comando between do sql assim:
Supondo q vc tem o campo DataSai, DataChega, vc precisa definir por qual dos dois campos vc quer fazer a consulta, se pela data da saida ou se é pela data da chegada... se for pela data da chegada:
Na query, coloca:
select * from tabela where DataChega between :vd1 and :vd2
order by DataChega
Obs: ( :Vd1 e :Vd2) são os parametros da query ok? Bem, no teu botão de gerar o relatório faz:
With Query do
Begin
close;
parambyname(´VD1´).asdate := StrToDate(maskedit1.text);
parambyname(´VD2´).asdate := StrToDate(maskedit2.text);
Prepare;
Open;
end;
dai vc complementa ... Espero ter te ajudado cara ...
Você pode usar o comando between do sql assim:
Supondo q vc tem o campo DataSai, DataChega, vc precisa definir por qual dos dois campos vc quer fazer a consulta, se pela data da saida ou se é pela data da chegada... se for pela data da chegada:
Na query, coloca:
select * from tabela where DataChega between :vd1 and :vd2
order by DataChega
Obs: ( :Vd1 e :Vd2) são os parametros da query ok? Bem, no teu botão de gerar o relatório faz:
With Query do
Begin
close;
parambyname(´VD1´).asdate := StrToDate(maskedit1.text);
parambyname(´VD2´).asdate := StrToDate(maskedit2.text);
Prepare;
Open;
end;
dai vc complementa ... Espero ter te ajudado cara ...
GOSTEI 0