Fórum Reindexar Tabelas Paradox #174142
10/08/2003
0
Tentei fazer esta rotina:
function DbiRegenIndexes(hCursor: hDBICur): DBIResult stdcall;
procedure Reindexar(Tabela : TTable);
var
I : Integer;
Lista_Tabelas : TStrings;
begin
Lista_Tabelas := TStringList.Create;
for I := 0 to Application.ComponentCount - 1 do
begin
if Application.Components[I] is TTable then
begin
Lista_Tabelas.Add(TTable(Application.Components[I]).TableName);
end;
end;
for I := 0 to Lista_Tabelas.Count - 1 do
begin
Tabela.Close;
Tabela.TableName := Lista_Tabelas[I];
try
Tabela.Exclusive := True;
Tabela.Open;
Check(dbiRegenIndexes(Tabela.Handle));
Tabela.Exclusive := False;
except
raise;
end;
end;
Lista_Tabelas.Free;
end;
Mas o Delphi reclama e diz que a variável [b:24c79861cc]hDBICur[/b:24c79861cc] não está declarada, e eu não consegui nenhuma referência desta variável no Help.
Alguém sabe uma rotina de Reindexação de tabelas Paradox, por favor, para me enviar ou me dar uma referência.
Obrigado.
function DbiRegenIndexes(hCursor: hDBICur): DBIResult stdcall;
procedure Reindexar(Tabela : TTable);
var
I : Integer;
Lista_Tabelas : TStrings;
begin
Lista_Tabelas := TStringList.Create;
for I := 0 to Application.ComponentCount - 1 do
begin
if Application.Components[I] is TTable then
begin
Lista_Tabelas.Add(TTable(Application.Components[I]).TableName);
end;
end;
for I := 0 to Lista_Tabelas.Count - 1 do
begin
Tabela.Close;
Tabela.TableName := Lista_Tabelas[I];
try
Tabela.Exclusive := True;
Tabela.Open;
Check(dbiRegenIndexes(Tabela.Handle));
Tabela.Exclusive := False;
except
raise;
end;
end;
Lista_Tabelas.Free;
end;
Mas o Delphi reclama e diz que a variável [b:24c79861cc]hDBICur[/b:24c79861cc] não está declarada, e eu não consegui nenhuma referência desta variável no Help.
Alguém sabe uma rotina de Reindexação de tabelas Paradox, por favor, para me enviar ou me dar uma referência.
Obrigado.
Fabio Colli
Curtir tópico
+ 0
Responder
Posts
11/08/2003
Bacalhau
Caro colega,
Para fazer reindexação em Paradox, tens que apagar os indexes existentes (aqueles ficheiros xg0, xg1, px, etc) e utilizar o comando ´CreateIndex´. O ´CreateIndex´ vai precisar de diversos parâmetros refrentes aos indexs: se é primário, case sensitive, etc.
A sintaxe é ´table1.createindex(<parametros aqui>);
O melhor é ler o que o help diz sobre esses parametros
Abraço do bacalhau
Para fazer reindexação em Paradox, tens que apagar os indexes existentes (aqueles ficheiros xg0, xg1, px, etc) e utilizar o comando ´CreateIndex´. O ´CreateIndex´ vai precisar de diversos parâmetros refrentes aos indexs: se é primário, case sensitive, etc.
A sintaxe é ´table1.createindex(<parametros aqui>);
O melhor é ler o que o help diz sobre esses parametros
Abraço do bacalhau
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)