Página 1 de 1

ajuda com datas

Enviado: 01 Jul 2005 17:20
por vaninho
Amigos eu preciso limpar um banco de dados atraves de uma rotina,devido ao bco de dados estar muito grande,com dados desnecessarios.
eu gostaria de criar para limpar os dados dos ultimos 6 meses.

eu pensei assim,

uma variavel ?

comparar esta variavel com a data do banco de dados de pedido por exemplo campo (dataped) type date.

se a datas de pedidos que for encontrando for igual ao periodo de 6 meses deletar.

Código: Selecionar todos

goto top
dentro do laço do while
if eof()
     limpeza concluida
      Close all
     return
endif
     return
 if dataped=variavel
         set filter to dataped=variavel
         delete
         skip
else
endif
loop
ENDDO
o que esta pegando é eu que não sei como criar esta variavel( o Valor a ser comparado) correspondendo ao 6 meses para fazer a busca nas datas do banco de dados.

Alguém por favor pode me ajudar.

Enviado: 01 Jul 2005 17:43
por kiko
eu faria da seguinte forma:

Código: Selecionar todos

select <<seu_banco_de_dados>>
set order to <<sua_ordem>>
go top
do while !eof()
   if <<data_de_emissao>> <= CTOD("01/01/2005")
      DELETE
   endif
   skip
enddo
PACK
alert("Limpeza Concluida")
o que esta entr <<>> sao os campos, alias e ordens do seu banco de dados...soh usei pra exemplificar...
resumindo...tudo o que estiver no seu banco de dados cuja emissao, ou a data que vc preferir, for menor que a data, que no exemplo eu utilizei 1 de janeiro, vai pro beleleu...
ou ainda, no lugar daquela data, vc pode utilizar uma variavel que o usuario digita, ai vc pode criar um utilitario de manutençao da base de dados pra ficar mais maleavel...

abraços e ateh a proxima...

Enviado: 03 Jul 2005 21:07
por Stanis Luksys
Tbm faria algo parecido...

Não se esqueca dos set's:

SET EPOCH TO ...
SET CENTURY ON/OFF
SET DATE TO ...

Apenas um conselho: Não dê o comando PACK logo na primeira vez que rodar a rotina, antes faça alguns testes.