ACC: Cómo recuperar una tabla eliminada de una base de datos

Seleccione idioma Seleccione idioma
Id. de artículo: 179161 - Ver los productos a los que se aplica este artículo
Moderada: Requiere macro básico, codificación y las capacidades de interoperabilidad.
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 una tabla eliminada de un Microsoft Access para Windows 95 y Microsoft Access 97 base de datos en las siguientes condiciones:
  • No se ha cerrado la base de datos desde la eliminación de la tabla.
  • La base de datos no se ha compactado desde la eliminación de la tabla.
  • Se eliminó la tabla mediante la interfaz de usuario Microsoft Access.
Nota: Si varias tablas se han eliminado sin darse cuenta, esta función recupera sólo la última tabla que se ha eliminado. Se pierden las otras tablas.
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.

Más información

La función de ejemplo siguiente recupera la última tabla eliminada dentro de una base de datos de Microsoft Access. Para crear la función de ejemplo, siga estos pasos.

Nota: Estos pasos 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 la que recientemente se ha eliminado una tabla, omita el paso 1, porque si has cerrado Microsoft Access o la base de datos, la tabla deleted no es recuperable.
  1. Abra la base de datos en Microsoft Access.
  2. En la ventana base de datos, haga clic en la ficha módulos y, a continuación, haga clic en nuevo.
  3. Escriba o pegue el código siguiente en el módulo que acaba de crear:

    Nota: un subrayado (_) al final de una línea en el siguiente ejemplo de código se utiliza como un carácter de continuación de línea indica que el código continúa de una línea a la siguiente. Puede escribir líneas que contienen este carácter como una línea lógica o puede dividir las líneas de código para incluir el carácter de continuación de línea. Para obtener información adicional consulte el File(Acread80.wri) Léame de Microsoft Access 97. Este archivo se instala de forma predeterminada en c:\Archivos de programa\Microsoft Office\Office.
        Function undo()
    
          Dim db As Database, strTablename As String
          Dim i As Integer, StrSqlString As String
    
          Set db = CurrentDb()
    
          For i = 0 To db.TableDefs.Count - 1
    
          If Left(db.TableDefs(i).Name, 4) = "~tmp" Then
             strTablename = db.TableDefs(i).Name
             StrSqlString = "SELECT DISTINCTROW [" & strTablename & _
               "].* INTO MyUndeletedTable FROM [" & strTablename & "];"
             DoCmd.SetWarnings False
             DoCmd.RunSQL StrSqlString
             DoCmd.SetWarnings True
             MsgBox "A table has been restored as MyUndeletedTable", _
               vbOKOnly,"Restored"
             GoTo Exit_undo
          End If
          Next i
          MsgBox "No Recoverable Tables Found", vbOKOnly, "Not Found"
    
          Exit_undo:
             Set db = Nothing
             Exit Function
          Err_undo:
             MsgBox Err.Description
             Resume Exit_undo
    
        End Function
    					
  4. En el menú Depurar, haga clic en "Compilar y guardar todos los módulos" (o en Microsoft Access para Windows 95, en el menú Ejecutar haga clic en "Compilar todos los módulos"; a continuación, en el menú Archivo, haga clic en "Guardar todos los módulos").
  5. Guarde el módulo como RecoverTable.

    Para probar esta función, escriba la línea siguiente en la ventana depuración y, a continuación, presione ENTRAR:
    ?Undo()
    					

Referencias

Para obtener más información acerca de TableDefs, busque el índice de la Ayuda de "Objeto de definición de tabla".

Propiedades

Id. de artículo: 179161 - Última revisión: lunes, 22 de enero de 2007 - Versión: 4.3
La información de este artículo se refiere a:
  • Microsoft Access 95 Standard Edition
  • Microsoft Access 97 Standard Edition
Palabras clave: 
kbmt kbhowto kbprogramming KB179161 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): 179161
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

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