Autor
Mensagem
Boa tarde pessoal!
Estou desenvolvendo uns relatórios pra um sistema e estou com um elefante gigantesco pra resolver...
To usando delphi 7, ADO e DB Access.
Ao realizar o select para gerar o relatório está ocorrendo alguma irregularidade... estou fazendo isso:
#Código
Porém ao realizar este select ele não trazia os dados do dia inicial, por exemplo, na tabela do BD eu tenho um registro do dia 26, se eu coloco para trazer de 26 a 28 ele vai trazer os registro de 27 e 28...
No Banco de Dados o campo data está como data completa DD/MM/YYYY HH:HH...
Tentei utilizar o between no select porém também não obtive sucesso...
aí, resolvi retirar um dia da data de início para que ele, ao dar o select, trazer os dados que eu precisava.. aí eu coloquei:
#Código
Funcionou!
Porémm... se eu colocar um período que passe de um mês ao outro, por exemplo, dt inicial 20/12/2011 e dt final 20/01/2012 ele não traz resultado nenhum...
O que pode estar ocorrendo??
Muitíssimo grato!
Henrique
Estou desenvolvendo uns relatórios pra um sistema e estou com um elefante gigantesco pra resolver...
To usando delphi 7, ADO e DB Access.
Ao realizar o select para gerar o relatório está ocorrendo alguma irregularidade... estou fazendo isso:
#Código
QueryAnalise.Close; QueryAnalise.SQL.Clear; QueryAnalise.SQL.Add(Select * from Analise where Retorno >= :dInicio and Retorno <= :dFim); QueryAnalise.Parameters.ParamByName(dInicio).Values := dt_inicio; QueryAnalise.Parameters.ParamByName(dFim).Values := dt_fim; QueryAnalise.Open;
Porém ao realizar este select ele não trazia os dados do dia inicial, por exemplo, na tabela do BD eu tenho um registro do dia 26, se eu coloco para trazer de 26 a 28 ele vai trazer os registro de 27 e 28...
No Banco de Dados o campo data está como data completa DD/MM/YYYY HH:HH...
Tentei utilizar o between no select porém também não obtive sucesso...
aí, resolvi retirar um dia da data de início para que ele, ao dar o select, trazer os dados que eu precisava.. aí eu coloquei:
#Código
QueryAnalise.Close; QueryAnalise.SQL.Clear; QueryAnalise.SQL.Add(Select * from Analise where Retorno >= :dInicio and Retorno <= :dFim); QueryAnalise.Parameters.ParamByName(dInicio).Values := dt_inicio-1; QueryAnalise.Parameters.ParamByName(dFim).Values := dt_fim; QueryAnalise.Open;
Funcionou!
Porémm... se eu colocar um período que passe de um mês ao outro, por exemplo, dt inicial 20/12/2011 e dt final 20/01/2012 ele não traz resultado nenhum...
O que pode estar ocorrendo??
Muitíssimo grato!
Henrique






