![]() |
Compactar y reparar BD Access 2010
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 Access 2007 o anterior, por lo que no es posible utilizar la librería JRO_TLB ya que 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.
y para llamarla utilizo:
¿Puede alguien orientarme al respecto? Saludos y muchas gracias |
¿No hay sugerencias?
Saludos |
No encontraste la solución? Tengo el mismo problema :(
|
Aún no he podido hacer que funcione.
Y como verás al parecer nadie sabe cómo. Saludos |
El codigo que pusiste a mi me funcionó a la perfección!!
|
Para Access 2010 a mí no me funciona, pero sí cuando utilizaba Access 2007.
Saludos |
Hola.
Probablemente será tarde, pero ¿has probado con el código propuesto por GerTorresM en este hilo ? |
Muchas gracias por responder jplj.
Ese código ya lo había probado y no me funciona en Win7. Saludos |
Hola
He estado comprobando lo que comentabas de Windows 7 y te puedo decir que en mi caso el procedimiento ha funcionado correctamente con lo siguiente: .- Windows 7 con Microsoft Office 2010 instalado. .- "Programa" de pruebas hecho con Delphi 7 y componentes ADO Las pruebas las he realizado con una base de datos Access 2003 -usando Provider=Microsoft.Jet.OLEDB.4.0 para realizar la prueba de conexión- y con otra de Access 2010 -usando Provider=Microsoft.ACE.OLEDB.12.0 para realizar la prueba de conexión- funcionando correctamente con ambas. Comentar unas "cosillas" sobre el tema: .- La base de datos será abierta en modo exclusivo por lo que no puede estar en uso por otro usuario o aplicación. .- Debe haber espacio suficiente en el disco donde se realiza la compactación. .- Si la base de datos no tiene contraseña, la función se llama sin los tres últimos parámetros
Cuando falla por alguno de los dos primeros motivos anteriores, el mensaje de error era algo así como "cadena de clase no válida", vamos que no aclara nada :) Por otra parte imagino que deberás tener motivos, pero al usar las versión 2007-2010 hay que tener en cuenta que según nos dice Microsoft: Cita:
Más información sobre Métodos de DBEngine (DAO). |
Muchas gracias jplj
La base de datos funciona perfectamente en mi programa, pero no puedo compactarla. Al ejecutar el código propuesto por GerTorresM, con las modificaciones señaladas, me da el siguiente error: Clase no registrada,ProgID:"Dao.DBEngine.120" Yo utilizo Win7 64 bits. No sé si por ahí estará el problema, ya que según tengo entendido Win7 no trae el DAO. Saludos |
Como te comentaba lo he probado con Win7, pero con el paquete Office 2010 instalado. ¿Tienes instalado ese paquete en el equipo?
El enlace que te he dejado sobre DAO está "ligado" a información sobre Office 2013, por lo que creo que es probable que venga con el paquete office. Habría que ver si se puede obtener "suelto". |
Como señalé en un post anterior cuando usaba Access 2007 me funcionaba, pero cuando me cambié a Access 2010 dejó de hacerlo.
Saludos |
Hola, estaba teniendo el mismo problema y después de leer varios foros inclusive este, pude encontrar en este blog una nota donde habla de esto y cómo solucionarlo, no puedo compartir la nota, pero si alguien tiene el mismo problema que me escriba
Enlace a la nota: Programas que te permitirán recuperar tus datos en Access |
Cita:
|
Hola adelbert.
Hazle caso a Casimiro, la guía de estilo es muy clara en ese punto: Cita:
Si no podes colocar el enlace al artículo, avisa por pm a cualquier moderador y lo hará gustoso. Pero si no la podes compartir por que no es pública o tiene alguna restricción, no lo hagas. Saludos :) |
La franja horaria es GMT +2. Ahora son las 04:37:45. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi