Ver Mensaje Individual
  #2  
Antiguo 09-11-2004
Avatar de taita
taita taita is offline
Miembro
 
Registrado: sep 2003
Ubicación: Murcia, San Pedro del Pinatar
Posts: 115
Reputación: 21
taita Va por buen camino
Post

Hola Enan0:

Te pongo aqui este código que es el que yo utilizo para compactar mis bases de datos. Espero que te sirva.
Código Delphi [-]
  function DatabaseCompact (const sdbName: WideString) : boolean;
  var
  JE : TJetEngine; //Jet Engine
  sdbTemp : WideString; //TEMP database
  sdbTempConn : WideString; //Connection string
  
  const
  SProvider = 'Provider=Microsoft.Jet.OLEDB.4.0; Data Source=';
  
  begin
  Result:=False;
  sdbTemp := ExtractFileDir(sdbName) + 'TEMP' + ExtractFileName(sdbName);
  sdbTempConn := SProvider + sdbtemp;
  if FileExists(sdbTemp) then DeleteFile(sdbTemp);
  JE:= TJetEngine.Create(Application);
  try
    try
      JE.CompactDatabase(SProvider + sdbName, sdbTempConn);
      DeleteFile(sdbName);
      RenameFile(sdbTemp, sdbName);
    except
      on E:Exception do
        ShowMessage(E.Message);
      end;
    finally
      JE.FreeOnRelease;
    Result:=True;
  end;
  end;
Para llamar a la función se utiliza esta linea:
Código Delphi [-]
  DatabaseCompact('C:\directorio\base.mdb');
Espero que te sirva. Saludos!.
__________________
No sabiendo que era imposible... él fue... y lo hizo!!!
En fase de construcción: LoBusco.com más .com que nunca!

Última edición por taita fecha: 09-11-2004 a las 17:02:22.
Responder Con Cita