A unica ferramenta que possuo é de compra, pertence ao meu trabalho e infelizmente não posso divulgar.
Antes de usar, fazer sempre em primeiro lugar, os procedimentos recomendados;
Para 2007, alterar para 12.0 e de mdb para accdb
Como Recuperar um Banco de Dados
Tratando-se de um mdb contendo objetos corrompidos, o Access poderá apresentar a mensagem de operação ilegal ou corrupt ou até O componente Activex não pode criar objeto.
Neste caso, existe a solução que tem resolvido 99% desses problemas com formulários, relatórios e módulos corrompidos:
trata-se do argumento de linha de comando não documentado "/decompile", que força a “descompilação” e o repair do mdb, bem como o reregistrar das dll`s.
Para utilizar este método, clique no botão Iniciar do Windows, selecione o item Executar e copie a expressão abaixo (escreva o caminho de um mdb válido):
1º
"C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE" "C:\Temp\teste.mdb" /decompile
2º
"C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE" "C:\Temp\teste.mdb" /repair
3º regsvr32 "C:\Arquivos de programas\Arquivos comum\Microsoft Shared\DAO\DAO360.DLL"
4º regsvr32 "C:\WINDOWS\system32\msrd3x40.dll"
Após concluir a operação, uma mensagem irá solicitar que você quer compilar o mdb novamente.
Clique no botão OK da mensagem e saia do Access sem fazê-lo.
Inicie o Access novamente, carregue o seu mdb e abra a estrutura de qualquer módulo ou a janela Depurar (CTRL+G).
Clique no menu Depurar - Compilar e Salvar todos os Módulos.
Depois, realize a compactação do banco de dados.