Consulta entre datas usando IF apenas pelo dia e mes

25/03/2003

0

Ola Pessoal,

Como eu posso fazer uma consulta entre datas, usando apenas o IF. Eu sei fazer com sql, mas neste caso nao me convem usar. Tenho 2 maskedit, um com a data final e outro com a data inicial, sendo que eu irei digitar apenas o dia e o mes que eu gostaria de consultar. Com a ajuda de um colega do forum, a pesquisa deu certo usando este código:

while not tabela.eof do
begin
if ([campo da tabela].asdatetime >= strtodate(data1.text)) and ([campo da tabela] <= strtodate(data2.text)) then
begin
[faça o que você quiser]
end;
tabela.next;
end;

Só que essa consulta pega a data toda, incluindo o ano. Eu gostaria que fosse apenas pelo dia e pelo mes.

EditMask: __/__ (nao está no formato date)
Banco: DBF
Delphi:6.0

Obrigado

Vivian


Anonymous

Anonymous

Responder

Posts

25/03/2003

Poeta Noturno

oi vivian, como vai?

Bom, neste caso vc vai ter que fazer da seguinte forma:

var
d1, d2, d3, m1, m2, m3, a1, a2, a3: word; (onde d=dia, m=mes, a=ano e 1 = data inicial, 2=data final, 3=data da tabela)

decodedate(strtodate(data1.text),a1,m1,d1);
decodedate(strtodate(data2.text),a2,m2,d2);
tabela.first;
while not tabela.eof do
begin
decodedate([campo].asdatetime,a3,m3,d3);
if ((d3>=d1) and (m3>=m1)) and ((d3<=d2) and (m3<=m2)) then
begin
[faça o que quiser];
end;
next;
end;

Espero que te sirva.

Um abraço

Poeta Noturno


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar