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

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
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
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.RecordsetSet rs = Adodc1.RecordsetMsgBox 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.
variável de objecto 91 de erro de tempo de execução ou com a variável de bloco não definida

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 266730 - Última Revisão: 12/05/2015 20:51:01 - Revisão: 2.3

Microsoft Visual Basic 6.0 Professional Edition, Microsoft Visual Basic Enterprise Edition for Windows 6.0

  • kbnosurvey kbarchive kbmt kbprb KB266730 KbMtpt
Comentários