Eu tenho um aplicativo do Access 2010 que é executado em uma rede ocupada (front ends / back ends separados, mesma versão do Access). Ultimamente, quando eu fecho, o utilitário de compactação é executado. É como se a opção fosse marcada por "compact on close". Mas essa opção não está marcada nem no banco de dados de back-end.
Eu herdei este aplicativo e ele começou a mostrar esse comportamento apenas recentemente. Eu conheço o código do VBA e não há uma rotina compacta (procurei no compact
nos módulos para ter certeza). O compacto acontece mesmo se eu executar Call SetOption("Auto Compact",False)
ao descarregar o formulário principal. O compacto também acontece se eu desabilitar o VBA não clicando em "Ativar Conteúdo".
Ouvi dizer que você pode iniciar o Access com parâmetros de linha de comando para obter esse comportamento, mas esse não é o caso aqui.
Eu também executei a manutenção de descompilação / reparo, mas nenhuma alteração.
Por que o banco de dados compacto no fechamento?
UPDATE
Beems
teve a resposta correta, que era remediar uma corrupção sutil do arquivo.
- novo banco de dados em branco
- definir todos os links de tabela
- importar objetos não relacionados à tabela
Se Beems
apresentar este conselho útil como resposta, eu aceitarei, caso contrário, postarei a resposta e entrarei no Wiki da comunidade (como uma espécie de cortesia em que não recebo crédito que não é meu ).