Página 1 de 1

problemas com seek em data

Enviado: 01 Nov 2005 15:05
por clebermano
Boa Tarde,
Pessoal olha o que acontece, eu tenho um banco de dados do financeiro que guarda as datas de vencimento.ok.
Quando eu dou um seek percebo que o programa entende que :
10/10/05 eh maior que 20/09/05. ou seja faco o seguinte.

set date brit
use conpag index conpag_1
Mdata:=ctod(" / / ")
@ 10,10 say "data inicial " get Mdata //data = 05/09/05 por exemplo
set softseek on
seek Mdat
set softseek off

? recno()
inkey(0) //me sai registro da posicao 01 do indice
se no banco de dados os dados estao assim,
20/09/05
10/10/05

quando eu abro o indice ta assim
10/10/05
20/09/05

meu banco de dados eh assim
datavenc=CARACTER 8

nao sei mais o que fazer para resolver, se alguem puder me ajudar obrigado

Enviado: 01 Nov 2005 15:49
por Clipper
Prezado Colega

Neste caso o sistema está corretíssimo !

Se o campo é caractere como você diz então :

10/10/05 vai ser sempre menor que 20/09/05, imaginenos sem as barras

101005
200905
Qual é menor ?

O problema é que você tem um campo caractere e está tentando usá-lo como tipo data.

Você tem 2 opções :

1 Coverter o campo para o formato data
2 Indexar desta forma
INDEX ON CTOD(DATAVENC) TO MDATA

Ps. Recomendo também colocar o seguinte comando no início do sistema, SET EPOCH TO 1995

Até logo.

Marcelo

Enviado: 01 Nov 2005 17:01
por clebermano
vou fazer isto, mas ja converti o banco de dados para data. mas vou fazer o q vc me falow, depois te falo...