bollywood actresses hair loss hair rehab london contact number cheap hair extensions brazilian curly hair with closure hair extension fails human hair wigs black ponytail hairstyles 2018 sunny hair extensions uk hair extensions remy hair extensions weft koko one piece hair extensions clip hair
Bug ao Compactar e Reparar

... Assinatura do site por 1 ano + Kit MontaRibbons + 3 Livros em PDF + Diversas Revistas (pdf) de brinde, por apenas R$100,00
(
podendo parcelar em até 10 vezes no cartão de crédito)...

Clique aqui e obtenha mais detalhes do nosso kit completo e de como comprar.


Bug ao Compactar e Reparar

Antes de iniciar sua leitura, clique aqui e cadastre-se para receber comunicados sobre novos artigos.

Há bastante tempo, uma falha grave no compactar e reparar do Access 2007 vem pegando de surpresa muitos programadores.   O que acontece é que no meio do processo do compactar e reparar, o Access pára e apresenta a seguinte mensagem:

"O Microsoft Office Access não pode excluir c:\SuaPasta\SeuBd.accdb após compactá-lo.  O banco de dados compactado foi nomeado como c:\SuaPasta\Banco de dados.mdb"

Veja a mensagem na parte superior da imagem:

Compactar e reparar

 

O Access, no seu processo normal de compactação e reparação, cria um novo arquivo com todos os objetos.  Deleta o arquivo original e renomeia a cópia, que passa e ser o seu novo arquivo original. 

Quando a falha do Access acontece e gera esta mensagem acima, o que se percebe é que ele deletou o arquivo original, mas não conseguiu renomear o arquivo copiado, que está íntegro, por sinal.  Se você tiver a infelicidade de clicar no botão OK da mensagem, ele também irá deletar esta copia e você perderá o seu banco de dados definitivamente.  E se você não tiver uma cópia de backup vai chorar, porque não há como recuperar.

Então, como proceder se esta falha acontecer ?

Não clique no OK em hipótese alguma.

Vá na pasta de origem do aplicativo e salve o arquivo que o Access nomeou como Bancodedados.mdb

Veja na figura abaixo a cópia do arquivo que realizei num teste:

Copia banco de dados

 

Com a cópia realizada,  você pode clicar no OK da mensagem.   Renomeie esta cópia salva para o nome original do seu aplicativo, incluindo a alteração da extensão para accdb, se for o caso e pronto.

Tem alguma correção para este bug?

A Microsoft lançou uma correção (hotfix 950812) em abril de 2008, mas não está disponível para download diretamente.  Quando entro na opção de solicitação de download, aparece a seguinte tela:

hotfix 950812

Observe que o quadro informa que esta correção estaria sendo lançada no Sp2.  

De fato a incidência comigo deste problema diminui consideravelmente após a atualização com o Sp2, mas não resolveu em definitivo o problema. 

Tem alguma forma de se evitar o problema?

Parece que o principal problema está relacionado com erros não verificados no nosso código VBA. 

Siga então, os seguintes procedimentos: 

Realize uma cópia de segurança sempre que for fazer alterações no seu banco de dados.

Após realizar alterações no seu código, use imediatamente o compilar do VBA para sanar quaisquer erros de sintaxe e/ou comandos cometidos por nós.  

Com o código devidamente compilado, aí sim, você poderá usar o compactar e reparar.

Após ter compilado e compactado você pode ativar o compactar e reparar ao sair, se o desejar.

Sucesso!


 

 


5 comentário(s)

STELLA MARIS   13/05/2010 16:49:26

Avelino,
Como sofri com esse BUG !
E Com sua ajuda consegui terminar meu BD
Parabéns

Avelino   12/03/2011 12:41:42

Tenho sofrido ainda com ele. Fiz a opção pelo compactar ao fechar e a cada 10 execuções pelo menos um apresenta este problema, mesmo assim valeu pela dica !!!!

Marcelo Silva   07/06/2011 07:58:59

Gostaria de saber se existe alguma forma de eu colocar no formulario principal um comando VB para que ao atualizar o form principal a cada 3 minutos como eu programei ele primeiro faz o "COMPACTAR E REPARAR ", porque da minha pergunta.
Tenho duas consultas no meu banco, uma exclui todos os dados de uma tabela e a outra inclui novos dados para a mesma tebela.
Ao fazer isso uma vez, o ACCESS não permite gerar a macro que tem a consulta atualiza novamente, só deixa se eu clicar no atalho do "COMPACTAR E REPARAR " no ACCESS.
Fico grato caso tenha uma ideia de como eu posso sanar este problema pois ja recorri a todos por estes forum a fora, desde já obrigado.

Avelino Sampaio   07/06/2011 10:26:48

Marcelo

Está um pouco confuso o que vc deseja fazer.

Perguntas:

1) Qual o comando usado para compactar e reparar ?
2) Qual é versão do seu Access ?
3) Por que não usar o compactar e reparar uma única vez ao sair do aplicativo?

Responda pela seção "Contato" do site.

Prisleydisson   30/07/2014 09:29:17

muito jóia


Envie seu comentário: