Cómo recuperar tablas eliminadas de una base de datos en Access 2000, Access 2002 o Access 2003

Seleccione idioma Seleccione idioma
Id. de artículo: 209874 - Ver los productos a los que se aplica este artículo
Moderada: Requiere macro básico, codificación y las capacidades de interoperabilidad.

Este artículo se aplica únicamente a las bases de datos de Microsoft Access (.mdb).

Expandir todo | Contraer todo

Resumen

Este artículo muestra cómo crear una ejemplo de Visual Basic para función de aplicaciones que puede utilizar para recuperar tablas eliminadas de una base de datos Microsoft Access en las siguientes condiciones:
  • No se ha cerrado la base de datos desde que se eliminaron las tablas.
  • La base de datos no se ha compactado desde el se eliminaron las tablas.
  • Las tablas se eliminaron mediante la interfaz de usuario de Microsoft Access.

Más información

La siguiente función de ejemplo intentará recuperar todo eliminadas tablas de una base de datos de Access. Para crear la función de ejemplo, siga estos pasos.

Nota Estos pasos se supone que está creando la función de ejemplo para un uso futuro. Si en su lugar está agregando el código directamente a una base de datos en el que se han eliminado las tablas, omita el paso 1. Si cierra Microsoft Access o la base de datos donde eliminar tablas, no podrá recuperar las tablas eliminadas mediante esta función.

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. Este artículo se supone que está familiarizado con el lenguaje de programación que se muestra y con las herramientas que se utilizan para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos que cumplan sus requisitos específicos.

Nota : el código de ejemplo en este artículo utiliza Microsoft Data Access Objects. Para que este código funcione correctamente, debe hacer referencia a la biblioteca de objetos Microsoft DAO 3.6. Para ello, haga clic en referencias en el menú Herramientas en el Editor de Visual Basic y asegúrese de que la casilla de verificación de Biblioteca de objetos Microsoft DAO 3.6 está activada.

  1. Abra la base de datos en Microsoft Access.
  2. En la ventana base de datos, haga clic en módulos en objetos y, a continuación, haga clic en nuevo .
  3. Escriba o pegue el código siguiente en el módulo que acaba de crear:
    Function RecoverDeletedTable()
    On Error GoTo ExitHere
    
    '*Declarations*
      Dim db As DAO.Database
      Dim strTableName As String
      Dim strSQL As String
      Dim intCount As Integer
      Dim blnRestored As Boolean
      
    '*Init*
      Set db = CurrentDb()
      
    '*Procedure*
      For intCount = 0 To db.TableDefs.Count - 1
        strTableName = db.TableDefs(intCount).Name
        If Left(strTableName, 4) = "~tmp" Then
          strSQL = "SELECT DISTINCTROW [" & strTableName & "].* INTO " & Mid(strTableName, 5) & " FROM [" & strTableName & "];"
          DoCmd.SetWarnings False
          DoCmd.RunSQL strSQL
          MsgBox "A deleted table has been restored, using the name '" & Mid(strTableName, 5) & "'", vbOKOnly, "Restored"
          blnRestored = True
        End If
      Next intCount
      
      If blnRestored = False Then
    MsgBox "No recoverable tables found", vbOKOnly
      End If
      
    '*EXIT/ERROR*
    ExitHere:
      DoCmd.SetWarnings True
      Set db = Nothing
      Exit Function
      
    ErrorHandler:
      MsgBox Err.Description
      Resume ExitHere
      
    End Function
  4. En el menú Depurar , haga clic en compilar el database name.
  5. Guarde el módulo como RecoverTable. Para probar esta función, primero crear dos tablas, agregar filas y, a continuación, eliminar estas dos tablas.
  6. Escriba la línea siguiente en la ventana Inmediato y presione ENTRAR:
    RecoverDeletedTable

Referencias

Para obtener más información sobre la colección TableDefs, en el Editor de Visual Basic, haga clic en Ayuda de Microsoft Visual Basic en el menú Ayuda , escriba colección TableDefs en el Ayudante de Office o el Asistente para Ayuda y, a continuación, haga clic en Buscar para ver el tema.

Propiedades

Id. de artículo: 209874 - Última revisión: martes, 23 de enero de 2007 - Versión: 3.2
La información de este artículo se refiere a:
  • Microsoft Access 2000 Standard Edition
  • Microsoft Access 2002 Standard Edition
  • Microsoft Office Access 2003
Palabras clave: 
kbmt kbdta kbhowto kbofficeprog kbprogramming KB209874 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 209874

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com