Funções de Visual Basic for Applications (VBA) quebram em um banco de dados com referências ausentes

Número de KB original: 283806

Observação

Requer habilidades básicas de macro, codificação e interoperabilidade. Este artigo se aplica a um banco de dados do Microsoft Access (.mdb e .accdb) e a um projeto do Microsoft Access (.adp).

Sintomas

Se você tiver um procedimento que contenha uma função Visual Basic for Applications e seu banco de dados contiver uma referência a uma biblioteca de objetos ou biblioteca de tipos ausentes, você poderá receber uma das seguintes mensagens de erro ao compilar seus módulos ou executar o procedimento:

Mensagem de erro 1

Seu banco de dados ou projeto do Microsoft Access contém uma referência ausente ou quebrada ao nome> do arquivo<.
* Para garantir que seu banco de dados ou projeto funcione corretamente, você deve corrigir essa referência.
* Para saber como corrigir essa referência, clique em Ajuda.

Mensagem de erro 2

Compilar Erro:
Não é possível encontrar o projeto ou a biblioteca

Motivo

Seu banco de dados contém uma referência a um banco de dados, biblioteca de tipos ou biblioteca de objetos marcada como AUSENTE: <nome de> referência na caixa de diálogo Referências.

Resolução

Para remover a referência ausente, siga estas etapas:

  1. Abra seu banco de dados.
  2. Pressione ALT+F11 para abrir o Visual Basic Editor.
  3. No menu Ferramentas, clique em Referências.
  4. Clique para limpar a caixa marcar para a biblioteca de tipos ou biblioteca de objetos marcada como AUSENTE: <nome de> referência.

Uma alternativa para remover a referência é restaurar o arquivo referenciado para o caminho especificado na caixa de diálogo Referências. Se o arquivo referenciado estiver em um novo local, desmarque a referência MISSING: <referencename> e crie uma nova referência ao arquivo na nova pasta.

Observação

Em um aplicativo de tempo de execução do Access, você não pode exibir referências de um menu. No entanto, o artigo a seguir demonstra como exibir referências usando código: 209849 Como fazer loop por meio de referências para exibir suas propriedades

Etapas para reproduzir o comportamento

  1. Abra o Northwind.mdb de banco de dados de exemplo.

  2. Crie um novo formulário que não seja baseado em nenhuma tabela ou consulta.

  3. No menu Inserir , clique em Controle ActiveX.

  4. Na lista Selecionar um controle ActiveX , clique em Controle de Edição de Imagem do Kodak e clique em OK.

  5. Salve o formulário como frmReference e feche-o.

  6. Feche Northwind.mdb e, em seguida, saia do Access.

  7. Localize e renomeie o arquivo ImgEdit.ocx para ImgEdit.old.

  8. Inicie o Access e abra Northwind.mdb.

  9. Abra o módulo Inicialização na exibição Design.

  10. No menu Depuração , clique em Compilar Northwind. Observe que você recebe as duas mensagens de erro mencionadas na seção "Sintomas" deste artigo.

  11. Clique em OK. Observe que a caixa de diálogo Referências é exibida; a seguinte referência é realçada na caixa de diálogo Referências Disponíveis :

    MISSING: Kodak Image Edit Control

  12. Clique em Cancelar na caixa de diálogo Referências Disponíveis.

  13. Localize e renomeie o arquivo ImgEdit.old para ImgEdit.ocx.

  14. Repita a etapa 10 e observe que a mensagem de erro não é mais exibida.