Ir al contenido



Foto

Compactar y reparar BD Access 2010


  • Por favor identifícate para responder
No hay respuestas en este tema

#1 radenf

radenf

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

Escrito 01 febrero 2014 - 08:40

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