implementation
uses sysutils, comobj;
const
bak_ext = '.$$$';
stAccessDB = 'Provider=Microsoft.Jet.OLEDB.4.0;'+
'Data Source=%s';
// Access Datenbank komprimieren
procedure Access_Compact(aAccess: string);
var
JetEngine : Variant;
TempName : string;
begin
TempName := ChangeFileExt(aAccess, bak_ext);
DeleteFile(TempName);
JetEngine := CreateOleObject('JRO.JetEngine');
try
JetEngine.CompactDatabase(
Format(stAccessDB, [aAccess]),
Format(stAccessDB, [TempName]));
DeleteFile(aAccess);
RenameFile(TempName, aAccess);
finally
JetEngine := Unassigned;
end;
end;
|