Artigo: 209874 - Última revisão: terça-feira, 23 de Janeiro de 2007 - Revisão: 3.2

Como recuperar tabelas eliminadas de uma base de dados no Access 2000, Access 2002 ou Access 2003

Moderado: Requer básica macros, codificação e interoperabilidade competências.

Este artigo aplica-se apenas a uma base de dados do Microsoft Access (.mdb).

Expandir tudo | Reduzir tudo

Sumário

Este artigo mostra como criar uma exemplo Visual Basic for Applications função que pode utilizar para recuperar tabelas eliminadas de uma base de dados do Microsoft Access nas seguintes condições:
  • A base de dados não foi fechada uma vez que as tabelas foram eliminadas.
  • Não tem sido compactada a base de dados desde o as tabelas foram eliminadas.
  • As tabelas foram eliminadas utilizando a interface de utilizador do Microsoft Access.

Mais Informação

A função de exemplo que se segue tentará recuperar eliminadas todas as tabelas uma base de dados Access. Para criar a função de exemplo, siga estes passos.

Nota Estes passos assumem que está a criar a função de exemplo para utilização futura. Se, em vez disso, estiver a adicionar o código directamente a uma base de dados na qual tabelas foram eliminadas, ignore o passo 1. Se fechar o Microsoft Access ou base de dados onde eliminadas tabelas, não poderá recuperar as tabelas eliminadas utilizando esta função.

A Microsoft fornece exemplos de programação apenas, para fins sem garantia expressa ou implícita. Isto inclui, mas não está limitado a, as garantias implícitas de comercialização ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação apresentada e as ferramentas que são utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas do utilizador.

Nota : O código de exemplo deste artigo utiliza Microsoft Data Access Objects. Para que este código seja executado correctamente, tem de referenciar a biblioteca Microsoft DAO 3.6 Object Library. Para o fazer, clique em References no menu Ferramentas no Editor do Visual Basic e certifique-se de que está seleccionada a caixa de verificação Microsoft DAO 3.6 Object Library .

  1. Abra a base de dados no Microsoft Access.
  2. Na janela Base de dados, clique em módulos em objectos e, em seguida, clique em Novo .
  3. Escreva ou cole o seguinte código no módulo que acabou de criar:
    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. No menu Debug , clique em Compilar o database name.
  5. Guarde o módulo como RecoverTable. Para testar esta função, primeiro crie duas tabelas, adicionar linhas e, em seguida, eliminar estas duas tabelas.
  6. Escreva a seguinte linha na janela Immediate e prima ENTER:
    RecoverDeletedTable

Referências

Para obter mais informações sobre a recolha de TableDefs, no Editor do Visual Basic, clique em Ajuda do Microsoft Visual Basic no menu Ajuda , escreva TableDefs colecção na Assistente do Office ou no Assistente de respostas e, em seguida, clique em Procurar para visualizar o tópico.

A informação contida neste artigo aplica-se a:
  • Microsoft Access 2000 Standard Edition
  • Microsoft Access 2002 Standard Edition
  • Microsoft Office Access 2003
Palavras-chave: 
kbmt kbdta kbhowto kbofficeprog kbprogramming KB209874 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 209874  (http://support.microsoft.com/kb/209874/en-us/ )
 

Traduções de Artigos

 

Related Support Centers