PROBLEMA: Mensagem de erro Run-Time '91' ocorre na tentativa de ao objecto de conjunto de registos de acesso de DataControl ADO independente

Traduções de Artigos Traduções de Artigos
Artigo: 266730 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Quando tenta aceder ao objecto conjunto de registos de um DataControl ADO cujas propriedades de ligação e OrigemDosRegistos definidos, os resultados de mensagem de erro seguinte quando DataControl ADO não tem quaisquer controlos dependentes:
Run-time error '91': variável de objecto ou com a variável de bloco não definida

Causa

Os objectos Connection e Recordset do DataControl ADO não obter inicializados implicitamente a menos que o DataControl está vinculado a um controlo no formulário que contém.

Resolução

  • Associar DataControl ADO a um controlo no formulário antes de tentar aceder o objecto conjunto de registos . Pode definir a propriedade visível do controlo para FALSO se pretender que o controlo a ser apresentado em tempo de execução.

  • Chame Actualizar método o DataControl de ADO anterior para aceder ao respectivo objecto de conjunto de registos se não deseja vincular DataControl ADO a qualquer controlo do formulário. Normalmente, um DataControl ADO é utilizado quando existe um requisito para dados vinculados a controlos num formulário. Escrever código Visual Basic para criar e utilizar um conjunto de registos ADO em vez de utilizar um DataControl ADO é outra opção a considerar se dados ligados controlos não são necessários.

Ponto Da Situação

Este comportamento ocorre por predefinição.

Mais Informação

Passos para reproduzir o comportamento

  1. Abra um novo projecto de EXE padrão no Visual Basic. É criado o Form1 por predefinição.
  2. No menu projecto , clique para seleccionar componentes e, em seguida, adicionar DataControl ADO à caixa de ferramenta.
  3. Arraste um DataControl ADO Form1.
  4. Defina a propriedade CadeiaDeLigação de DataControl ADO para ligar a base de dados da sua escolha e também especificar a propriedade OrigemDosRegistos .
  5. Copie e cole o seguinte código no evento Form_Load :
    Dim rs As ADODB.Recordset
    Set rs = Adodc1.Recordset
    MsgBox rs.RecordCount
    					
  6. Guarde o projecto e executá-la. A mensagem de erro na secção "Sintomas" deste artigo é gerada na linha de código que tenta exibir o valor da propriedade RecordCount do conjunto de registos .
  7. Copie e cole a seguinte linha de código na parte superior do procedimento de evento Form_Load :
    Adodc1.Refresh
    					
  8. Guarde e execute o projecto. Note que o DataControl de ADO conjunto de registos é inicializado e que RecordCount é apresentado como necessário. A instrução Adodc1.Refresh não é necessária se DataControl ADO tiver sido ligada a, pelo menos, um controlo no formulário.

Propriedades

Artigo: 266730 - Última revisão: 11 de outubro de 2006 - Revisão: 2.3
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
Palavras-chave: 
kbmt kbprb KB266730 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 266730

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