Erro em tabela Paradox... Index is out date...

Delphi

01/03/2004

:? Bom dia !
Tenho uma programa de altomação Comercial em faze de teste e esta acontecendo o ceguinte:
Hoje quando tentei abrir o programa apareceu a ceguinte mensagem..

Index is out date
Table: C:\Sistema\Tabelas\TabCli

Como posso resolver?
O que pode ter acontecido?


Evan Gois

Evan Gois

Curtidas 0

Respostas

Denis

Denis

01/03/2004

Olá

Tabelas em paradox são complicadas mesmo. Como diz um colega aqui do forum ´PIRADOX´. Qualquer problema tipo queda de energia, desligar o computador com o programa aberto, etc.. podem ocorrer este erro.
A solução é reindexar os arquivos. Para isso use o database desktop ou faça uma rotina de reindexação dentro do seu próprio programa.


GOSTEI 0
Evan Gois

Evan Gois

01/03/2004

Como fasso um rotina de reindexação dentro do seu próprio programa.
Alguem poderia me dar um exemplo pois sou novato e não tenho nem ideia de como a fazer...


GOSTEI 0
Denis

Denis

01/03/2004

é bem simples.

Use a função deletefile para apagar todos os indices da pasta onde estão os arquivos e mantenha apenas os arquivos ´*.db´.

ex : deletefile(´tabela.px´)
deletefile(´tabela.xg0´)

Depois vc. terá que recriar os indices. ex :

table1.AddIndex(´PrimaryIndex´,´Cod´,[ixPrimary,IxUnique]);
table1.AddIndex(´Ind1´,´Descricao´,[ixCaseInsensitive]);

Claro, este é um exemplo bem simples. No seu caso com certeza tem muitas tabelas e para apagar indice por indice seria bem complicado, então pode usar outros recursos, como usar um componente filelistbox e filtrar por uma mascara (*.px / *.x*) depois em um for mandar deletar tudo, ou até usar apis do windows.
Agora é só incrementar.


GOSTEI 0
Evan Gois

Evan Gois

01/03/2004

Obrigado !!
Vo tentar fazer isso........


GOSTEI 0
Denis

Denis

01/03/2004

ps. Os arquivos .mb tbm. tem que ficar. São os arquivos onde estão os campos memo.


GOSTEI 0
POSTAR