PDA

Ver la Versión Completa : Compactar y reparar


Novás
07-01-2004, 12:24:38
Hola a todos:

Estoy trabajando en un proyecto donde accedo a una base de datos access y me surge la necesidad de utilizar la herramienta que trae access de Compactar y reparar base de datos...

Mi pregunta es si es posible hacerlo desde DELPHI o tengo que cerrar el programa, abrir Access y ejecutar la función.


Muchas gracias...

delphi.com.ar
07-01-2004, 15:22:21
Aqui tienes un ejemplo http://www.clubdelphi.com/vertruco.php?id=21, lee mi comentario para bases con contraseńa.

Saludos!

ogorut
08-01-2004, 10:17:29
Novás aqui te dejo la función que utilizo yo para compactar y reparar las bases de datos:

procedure CompactarBDAccess(Path, BD: String);
var V: Variant;
DbEngine: Variant;
TmpFile: String;
Result : Boolean;
begin
Result := False;

try
if not GetEngine(DbEngine) then Exit;
// Antes de compactar la Base de Datos, ésta se repara.
DbEngine.RepairDatabase(Path+'\'+BD);
DbEngine.CompactDataBase(Path+'\'+BD, Path+'\Temp.mdb');
if DeleteFile(Path+'\'+BD) then
begin
CopiarFich(Path+'\Temp.mdb', Path+'\'+BD);
if DeleteFile(Path+'\Temp.mdb') then;
Result := True;
end;
except
Exit;
end;
end;