Fórum Problemas com pesquisa de datas utilizando ADO e Access #169388

14/07/2003

0

Seguinte: tenho um BD Access e estou acessando ele com componentes ADO (Delphi 7).

Minha dúvida é a seguinte: eu quero pesquisar registros que possuam a data anterior a data de hoje. Se eu fizer a consulta diretamente no Access, tipo SELECT DATA WHERE DATA < #DATADEHOJE, a consulta é retornada corretamente. Já no Delphi, por causa do ADO, a consulta não retorna nenhum resultado.

Alguém sabe o que deve ser feito? Já tentei inúmeras formatações para o campo de data e até agora nada resolveu.

Estou usando o componnete TADOQuery.


Gabrielgarcia

Gabrielgarcia

Responder

Posts

15/07/2003

Wdirley

Muda o campo no access e no delphi de DATE para texto, desse modo funciona.


Responder

Gostei + 0

15/07/2003

Marcelo.c

Acredito que ao colocar a data no formato mm/dd/yy na Query você resolverá seu problema.


Responder

Gostei + 0

15/07/2003

Gabrielgarcia

Obrigado pela dica. A data em string realmente funciona.

Já a formatação da data em mm/dd/yy continua retornando resultados estranhos. As vezes funciona, as vezes não. Muito estranho.
Mas, mesmo assim, muito obrigado pela dica.


Responder

Gostei + 0

15/07/2003

Ilanocf

Veja se este exemplos te ajudam:

EXEMPLO 1:

DMDados.ConsCursos.Close;
DMDados.ConsCursos.SQL.Clear;
DMDados.ConsCursos.SQL.Add(´Select * From TB_Concludentes WHERE Colacao LIKE:P1 AND Documentacao=:P2 ORDER BY Aluno, Colacao, Digito, Curso´);
DMDados.ConsCursos.Parameters.ParamByName(´P1´).Value:=StrToDate(Edit2.Text);
DMDados.ConsCursos.Parameters.ParamByName(´P2´).Value:=´Documentação Completa´;
DMDados.ConsCursos.Open;

EXEMPLO 2:

DMDados.ConsCursos.Close;
DMDados.ConsCursos.SQL.Clear;
DMDados.ConsCursos.SQL.Add(´SELECT * FROM TB_Concludentes WHERE Colacao LIKE:P1 ORDER BY Aluno, Colacao, Digito, Curso´);
DMDados.ConsCursos.Parameters.ParamByName(´P1´).Value:=StrToDate(Edit1.Text);
DMDados.ConsCursos.Open;


Responder

Gostei + 0

16/07/2003

Gabrielgarcia

ilanocf, obrigado pela dica.
Para todos os outros com o mesmo problema, a solução é somente passar a campo data como um parâmetro. Pequeno detalhe, mas que realmente complica a vida de quem é novo com ADO.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar