Error en RepairDatabase

Hola.
Tengo una base de datos Access 2000 que quiero reparar y compactar mediante un botón de mi aplicación.
Compactar no em da ningún problema, lo hace bien, pero cuando quiero reparar me sale un mensaje de error que pone:
"Operación no válida para este tipo de objeto"
El código que utilizo es este:
Dim dbDB As FDatabase
On Error GoTo Err_AbrirBD
Set dbDB = OpenDatabase("C:\BASE", True, False)
dbDB.Close
DBEngine. RepairDatabase "C:\BASE.mdb"
Cuando capturo el error y muestro Err.Description me sale el mensaje anterior.
¿A qué se debe y como podría solucionarlo?
Gracias

1 respuesta

Respuesta
-1
A ver...
La bd tiene que estar abierta en modo exclusivo para cualquiera de estas operaciones...
Y otra cosa
On Error GoTo Err_AbrirBD
Set dbDB = OpenDatabase("C:\BASE", True, False)
----------- Acá arriba falta el nombre y la extensión de la bde... dice "c:\base"
PRUEBA ESO.. SI NO FUNCIONA ME AVISAS Y VEO que otro problema puede ser
La base de datos está abierta en modo exclusivo, por eso hago:
OpenDatabase("C:\BASE", True, False)
El True es modo exclusivo y el False para que no sea sólo lectura/escritura.
No falta el nombre de la base de datos, lo que pasa es que está en la raíz, en C: y se llama BASE.mdb
Para hacer un DBEngine.CompactDatabase no hace falta tener la base de datos abierta y para hacer un DBEngine.RepairDatabase tampoco, yo las abro y las cierro antes sólo para comprobar que no están siendo utilizadas por otro usuario, nada más.
Pero gracias por las molestias de todos modos...
P.D: No me olvido de puntuar, no te preocupes...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas