Compactar um Banco de Dados Access

Delphi

22/10/2003

Estou Utilizando esse código para compactar um banco .mdb na compactação ele funciona corretamente mas na hora de abrir o banco no Access o mesmo manda uma Menssage que o formato do banco não é reconhecido alguem pode me ajudar a solucionar este problema.

Obrigaco
Emerson


function TFPrincipal.DatabaseCompact
(const sdbName: WideString) : boolean;
var
JE : TJetEngine; //Jet Engine
sdbTemp : WideString; //TEMP database
sdbTempConn : WideString; //Connection string
sdbNameAtg : WideString;
const
SProvider = ´Provider=Microsoft.Jet.OLEDB.4.0;Data Source=´;
begin
//Result:=False;
sdbTemp := ExtractFileDir(sdbName) +
´\TEMP´ +
ExtractFileName(sdbName);
sdbTempConn := SProvider + sdbtemp;
sdbNameAtg := SProvider + sdbName;
if FileExists(sdbTemp) then
DeleteFile(sdbTemp);
JE:= TJetEngine.Create(Application);
try
try
DMCondefMa.ADOCondefMa.Close;

JE.CompactDatabase(sdbNameAtg, sdbTempConn);
DeleteFile(sdbName);
RenameFile(sdbTemp, sdbName);
except
on E:Exception do
ShowMessage(E.Message);
end;
finally
JE.FreeOnRelease;
Result:=True;
DMCondefMa.ADOCondefMa.Open(´Admin´,´´);
end;


Emersonsj

Emersonsj

Curtidas 0
POSTAR