É possível recuperar tabela excluída?
5 participantes
[Resolvido]Recuperar Dados (tabelas) Excluidos
Agravina- Maximo VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1623
Registrado : 18/07/2010
- Mensagem nº1
[Resolvido]Recuperar Dados (tabelas) Excluidos
Assis- Maximo VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4772
Registrado : 06/11/2009
- Mensagem nº2
Re: [Resolvido]Recuperar Dados (tabelas) Excluidos
Bom dia Agravina
http://dl.dropbox.com/u/771097/ResgataTabelaDeletada.txt
http://dl.dropbox.com/u/771097/ResgataTabelaDeletada.txt
.................................................................................
*** Só sei que nada sei ***
Agravina- Maximo VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1623
Registrado : 18/07/2010
- Mensagem nº3
Re: [Resolvido]Recuperar Dados (tabelas) Excluidos
Bom Dia Assis onde coloco este código?
Agravina- Maximo VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1623
Registrado : 18/07/2010
- Mensagem nº4
Re: [Resolvido]Recuperar Dados (tabelas) Excluidos
Como executo está função?
Noobezinho- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
- Mensagem nº5
Re: [Resolvido]Recuperar Dados (tabelas) Excluidos
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.
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
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.
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
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Agravina- Maximo VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1623
Registrado : 18/07/2010
- Mensagem nº6
Re: [Resolvido]Recuperar Dados (tabelas) Excluidos
Noob
Coloquei sim num evento ao clicar mas retorna erro.
Coloquei sim num evento ao clicar mas retorna erro.
Noobezinho- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
- Mensagem nº7
Re: [Resolvido]Recuperar Dados (tabelas) Excluidos
Agravina
E qual foi esse erro?
E qual foi esse erro?
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Agravina- Maximo VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1623
Registrado : 18/07/2010
- Mensagem nº8
Re: [Resolvido]Recuperar Dados (tabelas) Excluidos
Ao clicar no botão que criei da o seguinte erro
membro já existe em modulo de objeto do qual se deriva
membro já existe em modulo de objeto do qual se deriva
Noobezinho- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
- Mensagem nº9
Re: [Resolvido]Recuperar Dados (tabelas) Excluidos
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.
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.
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Agravina- Maximo VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1623
Registrado : 18/07/2010
- Mensagem nº10
Re: [Resolvido]Recuperar Dados (tabelas) Excluidos
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
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
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
- Mensagem nº11
Re: [Resolvido]Recuperar Dados (tabelas) Excluidos
Meu amigo
Sinto mas tenho que puxar tua orelha
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
Noob
Sinto mas tenho que puxar tua orelha
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
Noob
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Agravina- Maximo VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1623
Registrado : 18/07/2010
- Mensagem nº12
Re: [Resolvido]Recuperar Dados (tabelas) Excluidos
tudo feito certinho ,mas não recuperou tabela nenhuma.
Noobezinho- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
- Mensagem nº13
Re: [Resolvido]Recuperar Dados (tabelas) Excluidos
Faz assim
crie uma tabela , delete ela e depois use a função.
crie uma tabela , delete ela e depois use a função.
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Agravina- Maximo VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1623
Registrado : 18/07/2010
- Mensagem nº14
Re: [Resolvido]Recuperar Dados (tabelas) Excluidos
Também não funciona
ErrorCode ErrorDescription ErrorRecid ErrorTable
-1611 Não foi possível encontrar o campo'Description'. MSysObjects
ErrorCode ErrorDescription ErrorRecid ErrorTable
-1611 Não foi possível encontrar o campo'Description'. MSysObjects
Noobezinho- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
- Mensagem nº15
Re: [Resolvido]Recuperar Dados (tabelas) Excluidos
Veja ai
Download
Noob
Download
Noob
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Agravina- Maximo VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1623
Registrado : 18/07/2010
- Mensagem nº16
Re: [Resolvido]Recuperar Dados (tabelas) Excluidos
infelizmente dentro do meu bd não funciona
Noobezinho- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
- Mensagem nº17
Re: [Resolvido]Recuperar Dados (tabelas) Excluidos
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
Apague uma tabela e dai clique no botão do formulário
depois faça o mesmo no teu bd
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Agravina- Maximo VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1623
Registrado : 18/07/2010
- Mensagem nº18
Re: [Resolvido]Recuperar Dados (tabelas) Excluidos
Na bd que enviou funciona! No bd não funciona.
Também não conseguindo postar a bd !
Também não conseguindo postar a bd !
Pina- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 354
Registrado : 19/02/2011
- Mensagem nº19
Re: [Resolvido]Recuperar Dados (tabelas) Excluidos
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
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
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
- Mensagem nº20
Re: [Resolvido]Recuperar Dados (tabelas) Excluidos
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
Utilize o mega ou Dropbox para hospedar o arquivo e
então coloque o link aqui.
Noob
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Alvaro Teixeira- Moderador Global
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7996
Registrado : 15/03/2013
- Mensagem nº21
Re: [Resolvido]Recuperar Dados (tabelas) Excluidos
Olá a todos.
Adaptei a partir do exemplo do nosso colega JPaulo, para recuperar todas as tabelas apagadas, enumerando-as.
Origem: https://www.maximoaccess.com/t11-102-codigos-vba-para-access
Abraço
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: https://www.maximoaccess.com/t11-102-codigos-vba-para-access
Abraço
» [Resolvido]recuperar tabelas
» [Resolvido]base de dados corrompida!!
» [Resolvido]Formatação de dados da caixa de listagem ao recuperar registros de tabela desacoplada.
» [Resolvido]Comparação de Dados Entre 2 Tabelas em 3 campos das tabelas
» [Resolvido]Dados de tabelas não relacionadas em formulário/relatório (lista fixa + entrada de dados)
» [Resolvido]base de dados corrompida!!
» [Resolvido]Formatação de dados da caixa de listagem ao recuperar registros de tabela desacoplada.
» [Resolvido]Comparação de Dados Entre 2 Tabelas em 3 campos das tabelas
» [Resolvido]Dados de tabelas não relacionadas em formulário/relatório (lista fixa + entrada de dados)