Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Número original do KB: 310803
Resumo
Este artigo descreve problemas que dizem respeito ao uso de referências em um banco de dados do Access.
O entendimento de erros de referência requer um entendimento de como as bibliotecas são referenciadas em um banco de dados do Access e do que é necessário para instalar um banco de dados em um computador de destino sem separar essas referências. Este artigo é um resumo dos seguintes tópicos:
- Exibição de referências de banco de dados do Access
- Resolução de referências do Microsoft Visual Basic for Applications no Access
- Entendimento sobre mensagens de erro de referência
- Resolução de problemas de referência no computador de desenvolvimento
- Distribuição de arquivos de banco de dados
- Atualização da lista de referências
- Distribuição de arquivos de banco de dados que têm controles ActiveX
- Registrar novamente um arquivo
Exibição de referências de banco de dados do Access
Para exibir as referências de banco de dados atuais:
- Abra o banco de dados.
- Pressione ALT+F11 para iniciar o Editor do Visual Basic.
- No menu Ferramentas, clique em Referências.
Resolução de referências do Visual Basic no Access
O Access carrega o arquivo pertinente (por exemplo, uma biblioteca de tipos, uma biblioteca de objetos ou uma biblioteca de controle) para cada referência, de acordo com as informações exibidas na caixa Referências. Se o Access não conseguir localizar o arquivo, o Access executará os seguintes procedimentos para localizar o arquivo:
- O Access verifica se o arquivo referenciado está carregado na memória.
- Se o arquivo não for carregado na memória, o Access tentará verificar se a chave do Registro
RefLibPaths
existe. Se a chave existir, o Access irá procurar um valor nomeado com o mesmo nome da referência. Se houver uma combinação, o Access carregará a referência do caminho para o que o valor nomeado aponta. - Em seguida, o Access pesquisa o arquivo referenciado nos seguintes locais, nesta ordem:
- A pasta Aplicativo (o local do arquivo Msaccess.exe).
- A pasta atual que você verá se clicar em Abrir no menu Arquivo.
- A pasta Windows ou Winnt onde os arquivos do sistema operacional estão sendo executados.
- A pasta Sistema na pasta Windows ou Winnt.
- As pastas na variável de ambiente PATH que são diretamente acessíveis pelo sistema operacional.
- Se o Access não conseguir encontrar o arquivo, ocorrerá um erro de referência.
Entendimento sobre mensagens de erro de referência
Há várias mensagens de erro relacionadas a um arquivo ausente ou a um arquivo que tem uma versão diferente da versão usada no banco de dados. Na maioria dos casos, você pode pesquisar na Base de Dados de Conhecimento da Microsoft um artigo sobre a mensagem de erro específica e, em seguida, pode resolver o erro seguindo as etapas do artigo. Em alguns casos, um arquivo de dependência não corresponde corretamente ao arquivo principal.
A lista a seguir descreve algumas mensagens de erro de referência que você pode receber. No entanto, observe que a lista não inclui todas as mensagens de erro de referência possíveis.
"Falha no Método MethodName do Objeto ObjectName"
Normalmente, você pode receber essa mensagem de erro se houver um problema com uma biblioteca de tipos de programação, por exemplo, um arquivo DLL (Biblioteca de link dinâmico) do Objeto de Acesso a Dados (DAO) inválido. Na Base de Dados de Conhecimento da Microsoft, você pode pesquisar por artigos que descrevam as várias formas dessa mensagem de erro.
"A função não está disponível na expressão Uso"
Você pode receber essa mensagem de erro se houver um problema com uma biblioteca de tipos de programação ou se o código não chamar especificamente a biblioteca correta e o arquivo for listado com uma prioridade mais baixa na lista de referência do que um arquivo que contenha o mesmo nome da função, por exemplo, se o código DAO for usado com a biblioteca do Objeto de Dados ActiveX (ADO) listada com prioridade mais alta do que a biblioteca do DAO. Você também poderá receber essa mensagem de erro se um formulário ou um relatório contiver um controle ActiveX.
"Não é possível encontrar o projeto ou a biblioteca"
Você poderá receber essa mensagem de erro se o Access não puder localizar um arquivo na lista de referência. Muitas vezes, o arquivo é sinalizado como Ausente na caixa de diálogo de Referência. Às vezes, o arquivo existe no computador de desenvolvimento, mas não no computador de destino.
"Variável não definida" ou "Tipo definido pelo usuário não definido"
Você pode receber uma dessas mensagens de erro se usar o Assistente de Segurança do Nível do Usuário para proteger um banco de dados que faz referência a bibliotecas que não sejam as bibliotecas incluídas por padrão. Por exemplo, as referências a bibliotecas existentes no banco de dados não protegidos não são criadas automaticamente no novo banco de dados protegido.
"Erro de tempo de execução 5", "Chamada ou argumento de procedimento inválido", "A biblioteca que contém esse símbolo não é referenciada pelo projeto atual" ou "A biblioteca que contém esse símbolo não é referenciada pelo projeto atual, portanto, o símbolo é indefinido"
Você pode receber uma dessas mensagens de erro se houver uma referência a um banco de dados, uma biblioteca de tipos ou uma biblioteca de objetos sinalizada como Ausente.
"O componente ActiveX não pode criar o objeto"
Essa mensagem de erro não significa necessariamente que um controle ActiveX está envolvido. Por exemplo, uma causa possível é que o DAO, que é um componente ActiveX, não pode criar um objeto porque o Servidor de Automação do DAO não pode iniciar. Frequentemente, a causa é que as DLLs que fornecem a funcionalidade referenciada para o programa não estão registradas ou estão registradas incorretamente.
Resolução de problemas de referência no computador de desenvolvimento
Criar um novo banco de dados em branco e importar objetos de outro arquivo de banco de dados pode criar problemas de referência se o código ou controles ActiveX dependem de referências que não estão incluídas em um banco de dados por padrão. As referências padrão para um banco de dados do Access 2000 são:
- Visual Basic for Applications
- Biblioteca de objetos do Microsoft Access 9.0
- Automação OLE
- Biblioteca do Microsoft ActiveX Data Objects (ADO) 2.1
Se a origem for outro banco de dados do Access 2000, verifique se as referências correspondem. Se a origem estiver em uma versão anterior do Access, o DAO 3.5 ou anterior provavelmente está em uso; no entanto, o Access 2000 não fornece o DAO 3.5 por padrão. Tente remover a referência para a biblioteca do ADO 2.1 (se ela existir) e adicionar a referência à biblioteca de objetos do DAO 3.6.
Se você converteu o banco de dados de uma versão anterior do Access e o banco de dados contém uma referência ao arquivo Utility.mda, na maioria dos casos, você pode remover essa referência porque as funções que essa referência chama estão incluídas nas referências padrão no Access 2000. Se houver referências a versões anteriores do DAO, você também poderá remover essas referências porque o DAO 3.6 pode resolver essas funções.
Para adicionar uma referência a uma biblioteca:
- Abra o banco de dados.
- Pressione ALT+F11 para iniciar o Editor do Visual Basic.
- No menu Ferramentas, clique em Referências.
- Em Referências Disponíveis, clique para marcar a caixa de seleção ao lado do nome da biblioteca e clique em OK.
Para remover uma referência a uma biblioteca:
- Abra o banco de dados.
- Pressione ALT+F11 para iniciar o Editor do Visual Basic.
- No menu Ferramentas, clique em Referências.
- Em Referências Disponíveis, clique para limpar a caixa de seleção ao lado do nome da biblioteca e clique em OK.
Distribuição de arquivos de banco de dados
Há dois métodos básicos de distribuição de arquivos de banco de dados. Você pode copiar o arquivo do computador de desenvolvimento para o computador de destino ou pode usar o Assistente de Pacote e Implantação para criar um pacote de instalação.
Se você copiar o arquivo do computador de desenvolvimento para o computador de destino, somente o arquivo de banco de dados será copiado. Você deve garantir manualmente que todos os arquivos listados na lista de referência estão disponíveis, no nível de versão correto e no mesmo local relativo no computador de destino como no computador de desenvolvimento.
Ao desenvolver aplicativos no tempo de execução no Access, esteja ciente de que alguns arquivos do sistema operacional devem ser distribuídos com o aplicativo no tempo de execução. O empacotamento desses arquivos é realizado automaticamente pelo componente do Assistente de Pacote e Implantação do Microsoft Office 2000 Developer. Às vezes, as versões dos arquivos incluídos dependem de outros aplicativos instalados no computador de desenvolvimento e que podem ter modificado os arquivos do sistema operacional.
Seguir determinadas diretrizes geralmente garantirá que as versões dos arquivos que você usa não conflitam com arquivos no computador de destino ao instalar o aplicativo no tempo de execução. Estas são as diretrizes:
- Desenvolva o banco de dados do Access em qualquer computador.
- Crie um ambiente de computador em que o disco rígido tenha sido reformatado e onde apenas a versão mais antiga do sistema operacional aplicável, do Office e do Office 2000 Developer esteja instalada. Execute o Assistente de Pacote e Implantação neste computador para criar a versão no tempo de execução do aplicativo. Isso garante que os níveis de revisão dos arquivos funcionem em qualquer um dos computadores de destino.
- Crie um ambiente de computador onde o disco rígido foi reformatado e onde apenas o sistema operacional esteja instalado. Teste o aplicativo no tempo de execução neste ambiente.
- Se o aplicativo não for executado com êxito, você saberá que há algo de errado com o próprio aplicativo. Você precisa identificar e corrigir o problema antes de distribuir o aplicativo.
- Se o aplicativo funcionar com êxito no computador de teste, mas não funcionar no computador de destino, você saberá que há algo de errado no computador de destino, não no aplicativo. Você precisa identificar e corrigir a causa provável no computador de destino, provavelmente uma incompatibilidade ou um arquivo corrompido.
Atualização da lista de referências
Se o problema de referência envolve um controle ActiveX, às vezes você pode resolver o problema atualizando a lista de referência. Para atualizar a lista de referências:
- No Editor do Visual Basic, clique em Referências, no menu Ferramentas.
- Na caixa de diálogo Referências, clique para selecionar uma referência que ainda não está selecionada, anote qual você selecionar e clique em OK.
- No menu Ferramentas, clique novamente em Referências.
- Clique para cancelar a seleção da referência e clique em OK.
Distribuição dos arquivos de banco de dados que contêm Controles ActiveX
Há dois tipos de licenças para controles ActiveX: uma licença em tempo de design e uma licença em tempo de execução.
- Uma licença no tempo de design permite inserir controles ActiveX licenciados do Office 2000 Developer em formulários e relatórios em um banco de dados do Access.
- Uma licença no tempo de execução permite que você use os controles ActiveX em um banco de dados do Access em um computador que não tenha o Office 2000 Developer instalado, mas uma licença no tempo de execução não permite que você insira novos controles ActiveX licenciados. Para instalar uma licença no tempo de execução, distribua os controles ActiveX usando o Assistente de Pacote e Implantação, que grava a licença para os controles no Registro do computador de destino.
Um sinalizador Ausente, que você pode ver ao abrir um módulo na visualização de Design e ao clicar em Referências no menu Ferramentas, indica que a referência ao controle Caixa de Diálogo Comum no computador de destino não corresponderá à origem no arquivo de banco de dados do computador de desenvolvimento.
Se você distribuir um arquivo de banco de dados sem instalar o controle de Caixa de Diálogo Comum distribuível, a referência do controle poderá ser sinalizada como Ausente ou você poderá receber uma mensagem de erro informando que "Você não tem a licença necessária para usar esse controle ActiveX" se o controle não distribuível já estiver instalado no computador de destino.
Mesmo quando o arquivo do banco de dados faz parte de um aplicativo no tempo de execução, você pode receber a mensagem de erro de que "Você não tem a licença necessária para usar esse controle ActiveX" se o controle não distribuível que já está instalado no computador de destino for de uma versão posterior ao controle fornecido pelo aplicativo no tempo de execução. Esse problema pode ocorrer porque o programa de Instalação não substitui versões posteriores de um arquivo por uma versão anterior do mesmo arquivo.
Registrar novamente um arquivo
É possível que um arquivo esteja na lista de referências sem ser registrado corretamente no Registro. Se você suspeitar que esse pode ser o caso, siga estas etapas para registrar novamente o arquivo:
- No Microsoft Windows NT 4.0, clique em Iniciar, aponte para Localizar e clique em Arquivos ou Pastas ou, no Windows 2000, clique em Iniciar, aponte para Pesquisa e clique em Para Arquivos e Pastas.
- Na caixa Nomeado ou na caixa Pesquisar arquivos e pastas nomeadas, digite regsvr32.exe.
- Na caixa Procurar, clique na raiz do disco rígido (geralmente C:).
- Clique para marcar a caixa de seleção Incluir Subpastas, caso ela ainda não esteja selecionada, e clique em Encontrar Agora ou Pesquisar Agora.
- Depois de encontrar o arquivo, clique em Iniciar, em Executar e, em seguida, exclua qualquer coisa que estiver na caixa Abrir.
- Arraste o arquivo Regsvr32.exe do painel de resultados da pesquisa para a caixa Abrir.
- Repita as etapas de 2 a 6, desta vez procurando por FileName.dll, onde FileName é o nome do arquivo que você deseja registrar novamente.
- Depois que o arquivo FileName.dll estiver na caixa Abrir com o arquivo Regsvr32.exe, clique em OK.
- No Access, teste para ver se o problema ainda existe.
Se você não tiver o arquivo Regsvr32.exe no computador, verifique outros computadores para o arquivo. Se o arquivo não estiver disponível, você poderá obtê-lo no site da Microsoft.
Observação
Lembre-se de compilar todos os módulos depois de ajustar referências. Para compilar todos os módulos, com o módulo ainda aberto, clique em Compilar banco de dados no menu Depurar. Caso os módulos não compilem, pode haver referências adicionais não resolvidas.