Página 1 de 1

filtrar por varias datas

Enviado: 20 Nov 2006 16:02
por matrix
pessoal,

é assim tenho no cadastro 4 datas assim dispostas DT1,DT2,DT3,DT4

e preciso gerar um relatorio com os itens que entiverem entre as datas informadas ou seja:
se eu pedir um relatorio de 01/11/06 a 01/12/06, e qquer uma das datas (DT1,DT2,DT3,DT4) estiver dentro desse periodo, mostra o registro.

me fugiu a logica, agradeço.

Enviado: 21 Nov 2006 08:48
por MARINI
A lógica seria:

data>=datainicial .and. data<=datafinal

Enviado: 21 Nov 2006 09:08
por vagucs
Index o sistema pelo campo de data fazendo o seguinte

Código: Selecionar todos

INDEX ON CAMPO_DATA TO INDICE.NTX
Agora para vasculhar pela um set de data

Código: Selecionar todos

seek datainicial
do while campo_data<=datafinal .and. !eof()
   ....
   skip
enddo

Enviado: 21 Nov 2006 10:14
por gvc
Seus campos são:
dt1, dt2, dt3, dt4

suas datas são: data1 e data2

while !eof()

if data2 < dt1 .or. data1 > dt1
dbskip()
loop
end

if data2 < dt2 .or. data1 > dt2
dbskip()
loop
end

if data2 < dt3 .or. data1 > dt3
dbskip()
loop
end

if data2 < dt4 .or. data1 > dt4
dbskip()
loop
end

// Imprime

dbskip()

end

OU ----------

while !eof()

if (data2 >= dt1 .and. data1 <= dt1) .and.;
(data2 >= dt2 .and. data1 <= dt2) .and.;
(data2 >= dt3 .and. data1 <= dt3) .and.;
(data2 >= dt4 .and. data1 <= dt4)

// Imprime

end

dbskip()

end