Você recebe uma mensagem de erro "Muito muitos campos definidos" ao salvar uma tabela no Access 2002

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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 291556
Moderado: Requer básica de macro, codificação e interoperabilidade habilidades.

Este artigo se aplica somente a um banco de dados do Microsoft Access (.mdb).

Para uma versão deste artigo do Microsoft Access 2000, consulte 198504.
Sintomas
Quando você salvar uma tabela após você adiciona um novo campo ou alterar as propriedades de um campo existente, você receber a seguinte mensagem de erro:
Número excessivo de campos definidos.
Esta mensagem é seguida por:
Foram encontrados erros durante a salvar. Tipos de dados não foram alterados.
Receber essas mensagens mesmo que você tenha 255 ou menos campos definidos na tabela.

Observação : você também receber essa mensagem se você adicionar ou modificar campos em um relatório baseado em uma tabela que possui muitos campos.
Causa
A contagem de colunas internas que o Microsoft Access utiliza para controlar o número de campos na tabela atingiu 255, embora você talvez tenha menos de 255 campos na tabela. Isso pode acontecer porque o Access não altera a contagem de colunas internas quando você excluir um campo. Acesso também cria um novo campo (aumentando a contagem de colunas internas em 1) para cada campo cujas propriedades você modificar.
Resolução
Para liberar a contagem de colunas internas para campos excluídos ou para campos cujas propriedades você modificar, siga um destes procedimentos:

  • Compacte o banco de dados. Para fazer isso, aponte para Utilitários de banco de dados no menu Ferramentas e, em seguida, clique em Compactar e reparar banco de dados.

    - ou -
  • Crie uma nova cópia da tabela. Para fazer isso, execute estas etapas:
  1. Anote quaisquer relacionamentos com a tabela.
  2. Selecione a tabela.
  3. No menu arquivo , clique em Salvar como .
  4. Na caixa Salvar tabela ' table name ' para , digite um novo nome e, em seguida, clique em OK .
  5. Selecione a mesma tabela que você selecionou na etapa 2 e, em seguida, pressione DELETE.
  6. Renomear a tabela que você salvou na etapa 3 para o nome da tabela original.
  7. Restabelecer qualquer relações com a nova tabela.
Mais Informações
No Access, você pode definir até 255 campos em uma tabela. Se você cria 255 campos e, em seguida, excluir 10, o Access não libera os campos da contagem de colunas internas. Além disso, para cada campo cujas propriedades você modificar, Access cria um novo campo e não libera o campo original da contagem de colunas internas.

Passos para reproduzir o problema

Observação : O código de exemplo neste artigo usa o Microsoft Data Access Objects. Para que este código seja executado corretamente, você deve fazer referência a Microsoft DAO 3.6 Object Library. Para fazer isso, clique em referências no menu Ferramentas no Editor do Visual Basic e veja que a caixa de seleção Microsoft DAO 3.6 Object Library está selecionada.

  1. Criar o Visual Basic seguinte código de VBA para criar uma nova tabela com 255 campos:
    ' ****************************************************************' Declarations section of the module' ****************************************************************Option Compare DatabaseOption Explicit' ****************************************************************' The Fill_Table() function creates a table in the current database' named Field Test with 255 fields, each of which has a Text data' type and a size of one character.' ****************************************************************Function Fill_Table()         Dim mydb As DAO.Database   Dim tbl As DAO.TableDef   Dim fld As DAO.Field   Dim i As Integer         Set mydb = CurrentDb()   Set tbl = mydb.CreateTableDef("Field Test")      For i = 0 To 254         Set fld = tbl.CreateField("Field" & CStr(i + 1))         fld.Type = dbText         fld.Size = 1         tbl.Fields.Append fld      Next i      mydb.TableDefs.Append tblEnd Function					
  2. Digite a seguinte linha na janela Verificação imediata para executar a função e para criar a tabela:
    Fill_Table					
  3. Exibir a tabela teste de campo no modo de design e exclua o último campo para que haja somente 254 campos definidos na tabela.
  4. Adicione o campo novamente e tente salvar a tabela. Note que você recebe as seguintes mensagens de erro:
    Número excessivo de campos definidos.
    Erros foram detectados durante a operação. Campos não foram adicionados. Propriedades não foram atualizadas.
Referências
Para obter mais informações sobre as especificações de um banco de dados, clique em Ajuda do Microsoft Access no menu Ajuda , digite especificações do Access no Assistente do Office ou no Assistente de resposta e, em seguida, clique em Pesquisar para exibir os tópicos retornados.
PRB

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 291556 - Última Revisão: 08/10/2004 23:22:03 - Revisão: 3.1

Microsoft Access 2002 Standard Edition

  • kbmt kbtable kberrmsg kbprb KB291556 KbMtpt
Comentários