Nivel da Tabela
18/02/2003
0
Pessoal,
Tenho uma tabela DBF que eu nao consigo reindexar pq ela esta com o nivel 3 e da o erro ´ Table level changed´ .
alguem sabe como eu faco pra mudar a propriedade nivel (level) de uma tabela
obs: Nao e o nivel no BDE e sim da tabela.
A rotina abaixo altera a propriedade de exibir registros deletados da tabela mas nao funciona se eu trocar o curSOFTDELETEON pra curTABLELEVEL.
procedure fDbiSetProp1(Table: TTable; SoftDelete: Boolean);
var
rslt: DBIResult;
Props: CURProps;
begin
Check(DbiGetCursorProps(Table.Handle, Props));
if (Props.szTableType <> szDBASE) then
raise EDBEngineError.Create(DBIERR_NOTSUPPORTED);
// Verifica se curSOFTDELETEON e aceitavel pela tabela
rslt:=DbiValidateProp(hDBIObj(Table.Handle), curSOFTDELETEON, True);
if (rslt = DBIERR_NONE) then
// Muda a propriedade
Check(DbiSetProp(hDBIObj(Table.Handle),curSOFTDELETEON,
Longint(SoftDelete)))
else
raise EDBEngineError.Create(rslt);
end;
Obrigado pela ajuda.
Tenho uma tabela DBF que eu nao consigo reindexar pq ela esta com o nivel 3 e da o erro ´ Table level changed´ .
alguem sabe como eu faco pra mudar a propriedade nivel (level) de uma tabela
obs: Nao e o nivel no BDE e sim da tabela.
A rotina abaixo altera a propriedade de exibir registros deletados da tabela mas nao funciona se eu trocar o curSOFTDELETEON pra curTABLELEVEL.
procedure fDbiSetProp1(Table: TTable; SoftDelete: Boolean);
var
rslt: DBIResult;
Props: CURProps;
begin
Check(DbiGetCursorProps(Table.Handle, Props));
if (Props.szTableType <> szDBASE) then
raise EDBEngineError.Create(DBIERR_NOTSUPPORTED);
// Verifica se curSOFTDELETEON e aceitavel pela tabela
rslt:=DbiValidateProp(hDBIObj(Table.Handle), curSOFTDELETEON, True);
if (rslt = DBIERR_NONE) then
// Muda a propriedade
Check(DbiSetProp(hDBIObj(Table.Handle),curSOFTDELETEON,
Longint(SoftDelete)))
else
raise EDBEngineError.Create(rslt);
end;
Obrigado pela ajuda.
Anonymous
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)