function CompactAccessDB(DB, MdP : string): Boolean; {DB = path complet de la base Access, MdP = password de la DB }
// Ajouter ComObj dans les Uses
var
v: OLEvariant;
begin
Result := False;
try
v := CreateOLEObject('JRO.JetEngine');
try
if CopyFile(PAnsiChar(DB),PAnsiChar(DB+'.bak'),False) then //backup de la base
begin
V.CompactDatabase('Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DB+';Jet OLEDB: Database Password='+MdP,
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DB+'comp'+';Jet OLEDB: Database Password='+MdP); //compactage
DeleteFile(DB);// suppression de la base d'origin
RenameFile(DB+'comp',DB); // mise en place de la base compactée
Result := True;
end;
finally
V := Unassigned;
end;
except
Result := False;
end;
end;
Partager