Ver Mensaje Individual
  #2  
Antiguo 05-07-2005
Avatar de Alexander
Alexander Alexander is offline
Miembro
 
Registrado: may 2004
Posts: 235
Reputación: 21
Alexander Va por buen camino
Post Intenta a ver con este

Alguien me envió este código y la verdad no se si funcione.

Intenta funcionar con este a ver. Debes poner JRO_TLB en el uses.

Código:
procedure TfMainForm.P_CompactarClick(Sender:TObject);
var
  JE : TJetEngine; //Jet Engine
  sdbTemp : WideString; //TEMP database
  sdbName : WideString;
 
const
  SProvider = 'Provider=Microsoft.Jet.OLEDB.4.0;DataSource=';
 
begin
  inherited;
  DBM.ADOConnection.Close;
  sdbName := g_sAppPath + g_sPrograma + '.mdb';
  sdbTemp := g_sAppPath + 'TEMP_' + g_sPrograma +'.mdb';
 
  if FileExists(sdbTemp) then
	DeleteFile(sdbTemp);
 
  JE := TJetEngine.Create(Application);
  try
	try
	  JE.CompactDatabase(SProvider + sdbName, SProvider + sdbtemp);
	  DeleteFile(sdbName);
	  RenameFile(sdbTemp, sdbName);
	except
	  on E:Exception do
	 ShowMessage(E.Message);
	end;
  finally
	JE.FreeOnRelease;
  ShowMessage('Proceso terminado.');
  Close;
  end;
end;
__________________
Cielos azules
Responder Con Cita