Fórum Erro em tabela Paradox... Index is out date... #217406

01/03/2004

0

:? 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

Responder

Posts

01/03/2004

Denis

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.


Responder

Gostei + 0

01/03/2004

Evan Gois

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...


Responder

Gostei + 0

01/03/2004

Denis

é 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.


Responder

Gostei + 0

01/03/2004

Evan Gois

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


Responder

Gostei + 0

01/03/2004

Denis

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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar