As funções do Visual Basic for Applications (VBA) falham 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 ausente, 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 interrompida 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

Erro de compilação:
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 que está marcada como MISSING: <nome da> 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 Editor do Visual Basic.
  3. No menu Ferramentas , clique em Referências.
  4. Clique para desmarcar a caixa de seleção da biblioteca de tipos ou biblioteca de objetos marcada como MISSING: <referencename>.

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 banco de dados de exemplo Northwind.mdb.

  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 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 no modo Design.

  10. No menu Depurar , 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 referência a seguir é 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.