OLA!!
PRECISO GERAR UM RELATORIO DO MES INFORMADO PARA TRAS , SERA QUE POSSO UTILIZAR O "<" , CONFORME ABAIXO?
DO WHILE DTOS(emissao) < cAnoMes .AND.!EOF() OU
DO WHILE left(DTOS(PAGAMENTO),6) < (V_ANOMES) .AND. !EOF()
O QUE ACONTECE EM AMBOS OS CASOS É QUE QUANDO USO "<" A LISTAGEM NAO SAI , E SE , COLOCAR "=" A LISTAGEM SAI TOTAL INDEPENDENTE DA MINHA DATA.
OPERACOES COM DATAS
Moderador: Moderadores
-
Dudu_XBase
- Membro Master

- Mensagens: 1071
- Registrado em: 25 Ago 2003 16:55
Pode sim.
Usando a função dtos() ela retorna anomêsdia
Nesse caso que vc postou
DO WHILE DTOS(emissao) < cAnoMes .AND.!EOF()
A variavel cAnoMes possue tamanho 6 = ( 4 (ano) + 2 (mes) e o retorno
do dtos() conterá tamanho 8.
Aqui a esta correta
DO WHILE left(DTOS(PAGAMENTO),6) < (V_ANOMES) .AND. !EOF()
Verifique se o indice que vc esta usando esta ordenado pela data onde
vc esta executando seu laço While.
Usando a função dtos() ela retorna anomêsdia
Nesse caso que vc postou
DO WHILE DTOS(emissao) < cAnoMes .AND.!EOF()
A variavel cAnoMes possue tamanho 6 = ( 4 (ano) + 2 (mes) e o retorno
do dtos() conterá tamanho 8.
Aqui a esta correta
DO WHILE left(DTOS(PAGAMENTO),6) < (V_ANOMES) .AND. !EOF()
Verifique se o indice que vc esta usando esta ordenado pela data onde
vc esta executando seu laço While.
Se vc esta querendo imprimir até um determindo mes/ano, então:
xanomes := '200612'
dbgotop()
while !eof() .and. left(dtos(vencimento), 6) < xanomes
...
dbskip()
end
- seu arquivo deve estar indexado por data de vencimento.
-----------------
se é para imprimir só os vencidos nos meses anteriores.
dbgotop()
while !eof()
if left(dtos(vencimento), 6) < xanomes
...
end
dbskip()
end
Espero ter ajudado. Especifique melhor o que vc quer fazer, se isto não ajudar.
xanomes := '200612'
dbgotop()
while !eof() .and. left(dtos(vencimento), 6) < xanomes
...
dbskip()
end
- seu arquivo deve estar indexado por data de vencimento.
-----------------
se é para imprimir só os vencidos nos meses anteriores.
dbgotop()
while !eof()
if left(dtos(vencimento), 6) < xanomes
...
end
dbskip()
end
Espero ter ajudado. Especifique melhor o que vc quer fazer, se isto não ajudar.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
{POG - Programação Orientada a Gambiarra}

