Visual Basic for Applications funções (VBA) quebram numa base de dados com referências em falta

Número original da BDC: 283806

Nota

Necessita de competências básicas de macro, programação e interoperabilidade. Este artigo aplica-se a uma base de dados do Microsoft Access (.mdb e .accdb) e a um projeto do Microsoft Access (.adp).

Sintomas

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

Mensagem de erro 1

A sua base de dados ou projeto do Microsoft Access contém uma referência em falta ou quebrada ao nome> do ficheiro<.
* Para garantir que a base de dados ou o projeto funcionam corretamente, tem de corrigir esta referência.
* Para saber como corrigir esta referência, clique em Ajuda.

Mensagem de erro 2

Erro de Compilação:
Não é possível localizar o projeto ou a biblioteca

Causa

A base de dados contém uma referência a uma base de dados, biblioteca de tipos ou biblioteca de objetos marcada como MISSING: <referencename> na caixa de diálogo Referências.

Resolução

Para remover a referência em falta, siga estes passos:

  1. Abra a base de dados.
  2. Prima Alt+F11 para abrir o visual basic Revisor.
  3. No menu Ferramentas, clique em Referências.
  4. Clique para desmarcar a caixa de verificação da biblioteca de tipos ou biblioteca de objetos marcada como MISSING: <referencename>.

Uma alternativa à remoção da referência é restaurar o ficheiro referenciado para o caminho especificado na caixa de diálogo Referências. Se o ficheiro referenciado estiver numa nova localização, desmarque a referência MISSING: <referencename> e, em seguida, crie uma nova referência para o ficheiro na nova pasta.

Nota

Numa aplicação de tempo de execução do Access, não pode ver referências a partir de um menu. No entanto, o seguinte artigo demonstra como ver referências com código: 209849 Como percorrer as referências para ver as respetivas propriedades

Passos para reproduzir o comportamento

  1. Abra a base de dados de exemplo Northwind.mdb.

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

  3. No menu Inserir , clique em Controlo ActiveX.

  4. Na lista Selecionar um controlo ActiveX , clique em Controlo de Edição de Imagens Kodak e, em seguida, clique em OK.

  5. Guarde o formulário como frmReference e, em seguida, feche-o.

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

  7. Localize e mude o nome do ficheiro ImgEdit.ocx para ImgEdit.old.

  8. Inicie o Access e, em seguida, abra Northwind.mdb.

  9. Abra o módulo Arranque na vista Estrutura.

  10. No menu Depurar , clique em Compilar Northwind. Tenha em atenção que recebe ambas as mensagens de erro mencionadas na secção "Sintomas" deste artigo.

  11. Clique em OK. Tenha em atenção que a caixa de diálogo Referências é apresentada; A seguinte referência está 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 mude o nome do ficheiro ImgEdit.old para ImgEdit.ocx.

  14. Repita o passo 10 e tenha em atenção que a mensagem de erro já não é apresentada.