MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Recuperar Dados (tabelas) Excluidos

    Compartilhe
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1382
    Registrado : 18/07/2010

    [Resolvido]Recuperar Dados (tabelas) Excluidos

    Mensagem  Agravina em Sab 14 Fev 2015, 07:42

    É possível recuperar tabela excluída?
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3377
    Registrado : 06/11/2009

    Re: [Resolvido]Recuperar Dados (tabelas) Excluidos

    Mensagem  Assis em Sab 14 Fev 2015, 08:33

    Bom dia Agravina

    [Você precisa estar registrado e conectado para ver este link.]


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1382
    Registrado : 18/07/2010

    Re: [Resolvido]Recuperar Dados (tabelas) Excluidos

    Mensagem  Agravina em Sab 14 Fev 2015, 08:41

    Bom Dia Assis onde coloco este código?
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1382
    Registrado : 18/07/2010

    Re: [Resolvido]Recuperar Dados (tabelas) Excluidos

    Mensagem  Agravina em Sab 14 Fev 2015, 08:56

    Como executo está função?

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Recuperar Dados (tabelas) Excluidos

    Mensagem  Noobezinho em Sab 14 Fev 2015, 09:01

    Agravina

    Se olhar o código com intensão de entender o mesmo, verá
    que é uma função, alias, o comentário da primeira linha já diz isso.
    E como se chama uma função?
    Vamos lá programador, pense um pouco. Razz

    Mas caso ainda não saiba, pode-se chamar uma função no evento ao clicar de um botão,
    na janela imediata, etc.



    Noob
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1382
    Registrado : 18/07/2010

    Re: [Resolvido]Recuperar Dados (tabelas) Excluidos

    Mensagem  Agravina em Sab 14 Fev 2015, 09:12

    Noob

    Coloquei sim num evento ao clicar mas retorna erro.

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Recuperar Dados (tabelas) Excluidos

    Mensagem  Noobezinho em Sab 14 Fev 2015, 09:18

    Agravina

    E qual foi esse erro?
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1382
    Registrado : 18/07/2010

    Re: [Resolvido]Recuperar Dados (tabelas) Excluidos

    Mensagem  Agravina em Sab 14 Fev 2015, 09:25

    Ao clicar no botão que criei da o seguinte erro
    membro já existe em modulo de objeto do qual se deriva

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Recuperar Dados (tabelas) Excluidos

    Mensagem  Noobezinho em Sab 14 Fev 2015, 09:31

    Agravina

    Testei aqui e funcionou

    Mude o nome da função de Undo para RecuperarTbl()
    porque Undo é palavra reservada do Access, creio que sabe disso,

    Veja nas ultimas linhas, tem 2 linhas de comentários, que não tem as aspas simples,
    então elas ficam em vermelho.

    'Nota:
    ' resgata se o banco n?o for Compactado/Reparado.

    Feito isso, teste

    Olhando melhor tua mensagem, veja se não gravou a mesma função duas vezes.
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1382
    Registrado : 18/07/2010

    Re: [Resolvido]Recuperar Dados (tabelas) Excluidos

    Mensagem  Agravina em Sab 14 Fev 2015, 09:45

    No evento ao clicar de um botão

    Private Sub Comando180_Click()
    Function recuperartbl()
    'Elaborado por JPaulo 2009-03-19
    'Fun??o que resgata uma tabela deletada
    Dim db As DAO.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 TabelaRecuperada FROM [" & strTablename & "];"
    DoCmd.SetWarnings False
    DoCmd.RunSQL StrSqlString
    DoCmd.SetWarnings True
    MsgBox "A tabela foi resgatada e ficou com o nome TabelaResgatada", _
    vbOKOnly, "Recover..."
    GoTo Exit_Undo
    End If
    Next i
    MsgBox "N?o foram encontradas tabelas apagadas...", vbOKOnly, "Valida??o"
    Exit_Undo:
    Set db = Nothing
    Exit Function
    Err_Undo:
    MsgBox Err.Description
    Resume Exit_Undo

    End Function
    End Function


    Não funciona por que diz qu falta end sub

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Recuperar Dados (tabelas) Excluidos

    Mensagem  Noobezinho em Sab 14 Fev 2015, 09:56

    Meu amigo

    Sinto mas tenho que puxar tua orelha Razz

    Veja uma função é um código que fica no módulo básico separada.
    Então sempre que precisar de chamar essa função, irá chamá-la pelo nome dela.

    Abra um módulo no visual basic

    Copie e cole a função nesse módulo e salve

    Lembrando, uma função começa com:

    Function e termina com
    End Function

    No evento Ao clicar do botão:

    Private Sub Comando180_Click()
    'aqui estou CHAMANDO A FUNÇÃO
    Call RecuperarTbl

    End sub


    Pelo tempo que tem de casa (quase 5 anos) e pelo número de mensagens
    Já deveria estar dominando sobre funções, o que é básico no Access Crying or Very sad

    Noob
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1382
    Registrado : 18/07/2010

    Re: [Resolvido]Recuperar Dados (tabelas) Excluidos

    Mensagem  Agravina em Sab 14 Fev 2015, 10:15

    tudo feito certinho ,mas não recuperou tabela nenhuma.

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Recuperar Dados (tabelas) Excluidos

    Mensagem  Noobezinho em Sab 14 Fev 2015, 10:17

    Faz assim

    crie uma tabela , delete ela e depois use a função.
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1382
    Registrado : 18/07/2010

    Re: [Resolvido]Recuperar Dados (tabelas) Excluidos

    Mensagem  Agravina em Sab 14 Fev 2015, 10:26

    Também não funciona

    ErrorCode ErrorDescription ErrorRecid ErrorTable
    -1611 Não foi possível encontrar o campo'Description'. MSysObjects

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Recuperar Dados (tabelas) Excluidos

    Mensagem  Noobezinho em Sab 14 Fev 2015, 13:02

    Veja ai

    Download

    Noob
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1382
    Registrado : 18/07/2010

    Re: [Resolvido]Recuperar Dados (tabelas) Excluidos

    Mensagem  Agravina em Sab 14 Fev 2015, 14:18

    infelizmente dentro do meu bd não funciona

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Recuperar Dados (tabelas) Excluidos

    Mensagem  Noobezinho em Sab 14 Fev 2015, 14:23

    Testou o que te enviei?

    Apague uma tabela e dai clique no botão do formulário

    depois faça o mesmo no teu bd



    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1382
    Registrado : 18/07/2010

    Re: [Resolvido]Recuperar Dados (tabelas) Excluidos

    Mensagem  Agravina em Sab 14 Fev 2015, 14:44

    Na bd que enviou funciona! No bd não funciona.
    Também não conseguindo postar a bd !

    Pina
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 349
    Registrado : 19/02/2011

    Re: [Resolvido]Recuperar Dados (tabelas) Excluidos

    Mensagem  Pina em Sab 14 Fev 2015, 16:24

    Boas
    veja com este código
    Function RecoverDeletedTable()
    On Error GoTo ExitHere

    '*Declarações*
    Dim db As DAO.Database
    Dim strTableName As String
    Dim strSQl As String
    Dim intCount As Integer
    Dim blnRestored As Boolean

    '*Início*
    Set db = CurrentDb()

    '*Processo*
    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 tabela excluída foi restaurada, usando o nome '" & Mid(strTableName, 5) & "'", vbOKOnly, "Restaurada"
    blnRestored = True
    End If
    Next intCount

    If blnRestored = False Then
    MsgBox "Nenhuma tabela encontrada recuperável", vbOKOnly
    End If

    '*EXITO/ERRO*
    ExitHere:
    DoCmd.SetWarnings True
    Set db = Nothing
    Exit Function

    ErrorHandler:
    MsgBox Err.Description
    Resume ExitHere

    End Function

    Pina

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Recuperar Dados (tabelas) Excluidos

    Mensagem  Noobezinho em Sab 14 Fev 2015, 17:33

    O fórum está com problemas em anexar arquivos

    Utilize o mega ou Dropbox para hospedar o arquivo e

    então coloque o link aqui.


    Noob
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5120
    Registrado : 15/03/2013

    Re: [Resolvido]Recuperar Dados (tabelas) Excluidos

    Mensagem  ahteixeira em Ter 04 Abr 2017, 12:44

    Olá a todos.
    Adaptei a partir do exemplo do nosso colega JPaulo, para recuperar todas as tabelas apagadas, enumerando-as.
    Código:
    Function RecuperaTbl()
    Dim booRec As Boolean
    'Elaborado por JPaulo 2009-03-19
    'Função que resgata uma tabela deletada

    'Atualização por ahteixeira 2017-04-04 para MaximoAccess
    'Função resgata varias tabelas eliminadas, enumerando-as

      Dim db As DAO.Database, strTablename As String
      Dim i As Integer, StrSqlString As String
      Set db = CurrentDb()
      For i = 0 To db.TableDefs.Count - 1
      Debug.Print booRec
        If Left(db.TableDefs(i).Name, 4) = "~tmp" Then
          strTablename = db.TableDefs(i).Name
          StrSqlString = "SELECT DISTINCTROW [" & strTablename & _
            "].* INTO TabelaRecuperada" & i & " FROM [" & strTablename & "];"
          DoCmd.SetWarnings False
          DoCmd.RunSQL StrSqlString
          DoCmd.SetWarnings True
          MsgBox "A tabela foi resgatada e ficou com o nome TabelaRecuperada" & i, _
            vbOKOnly, "Recuperação..."
          booRec = True
          'GoTo Exit_Undo
        End If
      Next i
      If booRec = False Then MsgBox "Não foram encontradas tabelas apagadas...", vbOKOnly, "Validação"
    Exit_Undo:
        Set db = Nothing
        Exit Function
    Err_Undo:
        MsgBox Err.Description
        Resume Exit_Undo
    End Function
     
    'Nota:
    ' resgata se o banco não for Compactado/Reparado.

    Origem: [Você precisa estar registrado e conectado para ver este link.]

    Abraço

      Data/hora atual: Ter 22 Maio 2018, 22:30