Jump to content


Photo

Compactar y reparar BD Access 2010


  • Please log in to reply
No replies to this topic

#1 radenf

radenf

    Newbie

  • Miembros
  • Pip
  • 3 posts

Posted 01 February 2014 - 08:40 AM

Hola amigos:

Necesito incluir en mi programa la capacidad de reparar y compactar la base de datos que utiliza, creada con Access 2010.
He revisado el foro y en la web, pero lo que he encontrado apunta a versiones anteriores de Access, por lo que no me es posible utilizar la librería JRO_TLB ya que mi Office 2010 no la incorpora.
He utilizado el siguiente código que obtuve en la web, pero no funciona. No da error pero tampoco compacta la BD.



delphi
  1. function CompactarBDAccess(DB: string) : boolean;
  2. var
  3. v: OLEvariant;
  4. begin
  5. Result:= True;
  6. try
  7. v := CreateOLEObject('JRO.JetEngine');
  8. try
  9. v.CompactDatabase('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + DB,
  10. 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + DB + 'x;Jet OLEDB:Engine type=5');
  11. DeleteFile(DB);
  12. RenameFile(DB + 'x', DB)
  13. finally
  14. v := Unassigned;
  15. end;
  16. except
  17. Result:= False
  18. end;
  19. end;



y para llamarla utilizo:



delphi
  1. CompactarBDAccess(ExtractFilePath(Application.ExeName) + 'Base de Datos\Estudios.mdb');



¿Puede alguien orientarme al respecto?
Saludos y muchas gracias
  • 0




IP.Board spam blocked by CleanTalk.