Artigo: 140309 - Última revisão: terça-feira, 9 de Dezembro de 2003 - Revisão: 2.0

Erro: Erro ao actualizar conjunto de registos é diferente entre 16-bit e 32 bits

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sintomas

Quando executar o método de actualização num conjunto de registos, a mensagem de erro apresentada para 16 bits Visual Basic e Visual Basic de 32 bits são completamente diferentes. No entanto, a causa do erro é o mesmo. Não utilizar o método AddNew ou editar antes de tentar guardar um registo de alterações.

Erro de 16 bits

Run-time error '3426':
A acção foi cancelada por um objecto associado.

Erro de 32 bits

Run-time error '3020':
Actualização ou CancelUpdate sem AddNew ou editar.

Causa

A mensagem de erro de 16 bits é realmente uma mensagem de erro 2.5 do Jet versão.

Como contornar

Para contornar este bugs, utilize o método editar antes do método de actualização, antes para guardar as alterações a um conjunto de registos, conforme é ilustrado abaixo:
   Data1.RecordSet.Edit
   Data1.RecordSet.Update
				

Ponto Da Situação

Microsoft confirmou que este seja um erro na versão do Visual Basic 4.0 16 bits. Está a investigar este problema e publicará novas informações na base de dados de conhecimento da Microsoft como fica disponível.

Mais Informação

Passos para reproduzir o erro no Visual Basic 4.0 16-bit

  1. Iniciar 16-bit do Visual Basic 4.0, ou, se já estiver a ser executado, clique em New Project no menu ficheiro.
  2. Coloca um controlo de dados no formulário Form1.
  3. Defina NomeBaseDados propriedade o controlo de dados Biblio.mdb.
  4. Defina OrigemDosRegistos propriedade o controlo de dados como autores.
  5. Adicione um controlo de caixa de texto ao formulário Form1. Defina primeiro a caixa de texto a propriedade de origem de dados do controlo para dados1 e, em seguida, defina o DataField propriedade para autores.
  6. Adicionar um botão de comando ao formulário Form1.
  7. Copie o seguinte exemplo de código para a janela de código do Form1:
           Private Sub Command1_Click()
              'To prevent the bug, uncomment the next line
              'Data1.RecordSet.Edit
              Data1.RecordSet.Update
           End Sub
    						
  8. Prima a tecla F5 ou clique em Iniciar, no menu ' Executar ' para iniciar o programa.
  9. Introduza texto na caixa de texto.
  10. Clique no botão de comando. É apresentada a seguinte mensagem de erro na caixa de diálogo de Microsoft Visual Basic:
    Run-time error '3426':
    A acção foi cancelada por um objecto associado.
    Clique no botão Terminar para fechar a caixa de diálogo e terminar o programa.
  11. Guarde o projecto. O projecto pode ser utilizado para recriar o erro de 32 bits.

Passos para reproduzir o erro no Visual Basic 4.0 de 32 bits

  1. Iniciar 4.0 do Visual Basic de 32 bits ou, se já estiver a ser executado, clique em Abrir projecto no menu ficheiro.
  2. Abra o projecto que guardou no passo 12 acima.
  3. Prima a tecla F5 ou clique em Iniciar, no menu ' Executar ' para iniciar o programa.
  4. Introduza texto na caixa de texto.
  5. Clique no botão de comando. É apresentada a seguinte mensagem de erro na caixa de diálogo do Microsoft Visual Basic:
    Run-time error '3020':
    Actualização ou CancelUpdate sem AddNew ou editar.
    Clique no botão end para fechar a caixa de diálogo e terminar o programa.

Referências

Para obter informações adicionais sobre mensagens de erro do Visual Basic 4.0, consulte o seguinte artigo na base de dados de conhecimento da Microsoft:
136250  (http://support.microsoft.com/kb/136250/EN-US/ ) LONG: Lista de erros detectável para o Visual Basic 4.0

A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic 4.0 Standard Edition
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 16-bit Enterprise Edition
  • Microsoft Visual Basic 4.0 32-Bit Enterprise Edition
Palavras-chave: 
kbmt kbbug kbdatabase KB140309 KbMtpt
Tradução automáticaTraduçã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: 140309  (http://support.microsoft.com/kb/140309/en-us/ )