Access - reparar base datos

   
Vista:

reparar base datos

Publicado por susana00 (54 intervenciones) el 04/01/2009 18:39:27
Tengo una base de datos que nunca ha dado ningun problema, pero el otro dia se apago inesperadamente el ordenador, y despues de restaurar el sistema, e intentar abrir de nuevo la base de datos da este mensaje de error:.

****************************************************

Esta base de datos esta en un estado inesperado. Microsoft Access no la puede copiar

Esta base de datos has sido convertida a partir de una base de datos de una versión anterior de Microsoft access utilizando el metodo database de DAO en vez del comando convertir base de datos del menú Herramientas. La base de datos ha quedado en un estado de conversión parcial.

Si tiene copia de la base de datos en su formato original, utilice el comando convertir base de datos del menú herramientas para convertirla. S i no esta disponible la base de datos original , cree una base de datos nueva e importe las tablas y consultas par no perder los datos.

Los demas objetos de la base de datos no se pueden recuperar.

**************************************************************


Sin embargo tampoco deja convertir la base de datos ni reparar.

Alguien sabe si se puede reparar de alguna forma?

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:reparar base datos

Publicado por MArtha (160 intervenciones) el 05/01/2009 08:26:20
¿Has usado el método de crear una nueva e importar tablas y consultas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:reparar base datos

Publicado por Carlos Enrique (1 intervención) el 05/04/2009 18:06:20
Crea una base de datos en blanco dentro de esa base de datos crea un módulo y pega el código que esta a continuación ejecúalo y podrás recuperar los datos y las consultas, estoy buscando la manera de recuperar los demaás objetos.
Saludos y espero que te sirva de ayuda. La página de origen del cádigo es la que coloco a continuacion: http://support.microsoft.com/kb/888634/es hay otras soluciones en ella mas esta es rápida de implementar y también es efectiva.

Saludos

Option Compare Database

Sub RecoverCorruptDB()

Dim dbCorrupt As DAO.Database
Dim dbCurrent As DAO.Database
Dim td As DAO.TableDef
Dim tdNew As DAO.TableDef
Dim fld As DAO.Field
Dim fldNew As DAO.Field
Dim ind As DAO.Index
Dim indNew As DAO.Index
Dim qd As DAO.QueryDef
Dim qdNew As DAO.QueryDef
Dim strDBPath As String
Dim strQry As String

' Replace the following path with the path of the corrupted database.
strDBPath = "C:NombreBasedeDatos.mdb"

On Error Resume Next
Set dbCurrent = CurrentDb
Set dbCorrupt = OpenDatabase(strDBPath)

For Each td In dbCorrupt.TableDefs
If Left(td.Name, 4) <> "MSys" Then
strQry = "SELECT * INTO [" & td.Name & "] FROM [" & td.Name & "] IN '" & dbCorrupt.Name & "'"
dbCurrent.Execute strQry, dbFailOnError
dbCurrent.TableDefs.Refresh
Set tdNew = dbCurrent.TableDefs(td.Name)

' Re-create the indexes on the table.
For Each ind In td.Indexes
Set indNew = tdNew.CreateIndex(ind.Name)
For Each fld In ind.Fields
Set fldNew = indNew.CreateField(fld.Name)
indNew.Fields.Append fldNew
Next
indNew.Primary = ind.Primary
indNew.Unique = ind.Unique
indNew.IgnoreNulls = ind.IgnoreNulls
tdNew.Indexes.Append indNew
tdNew.Indexes.Refresh
Next
End If
Next

' Re-create the queries.
For Each qd In dbCorrupt.QueryDefs
If Left(qd.Name, 4) <> "~sq_" Then
Set qdNew = dbCurrent.CreateQueryDef(qd.Name, qd.SQL)
End If
Next

dbCorrupt.Close
Application.RefreshDatabaseWindow
MsgBox "Procedure Complete."
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:reparar base datos

Publicado por AulaClickAccess (12 intervenciones) el 01/07/2013 14:51:19
Si tu bases de datos esta extremadamente dañada solo puede ser reparada a traves de un software especializado como AccessFix descargalo de esta pagina

http://aulaclick-access.blogspot.com/p/como-reparar-bases-de-datos-de-access.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar