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

Traduções de Artigos Traduções de Artigos
Artigo: 283806 - Ver produtos para os quais este artigo se aplica.
Moderado: requer conhecimentos básicos sobre macros, codificação e interoperabilidade.

Este artigo aplica-se a uma base de dados do Microsoft Access (.mdb) e a um projecto do Microsoft Access (.adp).

Este artigo poderá conter hiperligações para conteúdo em inglês (ainda não traduzido).

Para obter uma versão deste artigo relativa ao Microsoft Access 2000, consulte 208218.
Para obter uma versão deste artigo relativa ao Microsoft Access 97, consulte 160870.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

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

Mensagem de erro 1

O projecto ou base de dados do Microsoft Access contém uma referência incompleta ou inexistente ao ficheiro <nome_do_ficheiro>.

* Para se certificar de que o projecto ou a base de dados está a funcionar correctamente, tem de corrigir esta referência.

* Para obter informações sobre como corrigir esta referência, clique em 'Ajuda'.

Mensagem de erro 2

Compile Error:
Can't find project or library

Causa

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

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 editor do Visual Basic.
  3. No menu Tools, clique em References.
  4. Clique para desmarcar a caixa de verificação da biblioteca de tipos ou de objectos marcada como MISSING: <nome_da_referência>.
Uma alternativa à remoção da referência consiste em restaurar o ficheiro referenciado no caminho especificado na caixa de diálogo References. Se o ficheiro referenciado estiver num novo local, elimine a referência MISSING: <nome_da_referência> e crie uma nova referência ao ficheiro na pasta nova.

NOTA: numa aplicação de tempo de execução do Access, não pode visualizar referências a partir de um menu. Contudo, o artigo que se segue demonstra como visualizar referências utilizando código:
209849 How to loop through references to view their properties

Mais Informação

Passos para reproduzir o comportamento

  1. Abra a base de dados de exemplo Adamastor.mdb.
  2. Crie um novo formulário que não seja baseado em qualquer tabela ou consulta.
  3. No menu Inserir, clique em Controlo ActiveX.
  4. Na lista Seleccione um controlo ActiveX, clique em Controlo Calendário 11.0 e clique em OK.
  5. Guarde o formulário como frmReference e feche-o.
  6. Feche a base de dados Adamastor.mdb e saia do Access.
  7. Localize e mude o nome do ficheiro MSCAL.ocx para MSCAL.old.
  8. Inicie o Access e abra Adamastor.mdb.
  9. Abra o módulo Início na vista de estrutura.
  10. No menu Debug, clique em Compile Adamastor. Note que recebe ambas as mensagens de erro mencionadas na secção "Sintomas" deste artigo.
  11. Clique em OK. Note que é apresentada a caixa de diálogo References; a referência que se segue está realçada na caixa de diálogo Available References:
    MISSING: Microsoft Calendar Control 11.0
    					
  12. Clique em Cancel na caixa de diálogo Available References.
  13. Localize e mude o nome do ficheiro MSCAL.old para MSCAL.ocx.
  14. Repita o passo 10 e note que a mensagem de erro já não é apresentada.

Referências

Para obter informações adicionais sobre outro problema que pode causar a primeira mensagem de erro, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base):
275110 "Undefined function in expression" error message when you open a query that references a function

Propriedades

Artigo: 283806 - Última revisão: 17 de maio de 2011 - Revisão: 6.0
A informação contida neste artigo aplica-se a:
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Word 2002 Standard Edition
Palavras-chave: 
kbproductlink kbfunctions kbvba kberrmsg kbprb KB283806

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com