Moderada: Requiere macro básico, codificación y conocimientos de interoperabilidad.


En este artículo sólo se aplica a una base de datos de Microsoft Access (.mdb).


Para una versión de Microsoft Access 2000 de este artículo, consulte 198504.

Síntomas

Cuando se guarda una tabla después de agregar un campo nuevo o cambiar las propiedades de un campo existente, recibirá el siguiente mensaje de error:

Hay demasiados campos definidos.

Este mensaje va seguido:

Se produjeron errores durante guardar. Tipos de datos no se cambiaron.

Recibe estos mensajes aunque haya 255 campos o menos definidos en la tabla.

Nota: también recibirá este mensaje si se agregan o modifican campos en un informe basado en una tabla que tiene demasiados campos.

Causa

El número de columnas interno que Microsoft Access utiliza para controlar el número de campos de la tabla ha llegado a 255, aunque haya menos de 255 campos en la tabla. Esto puede suceder porque Access no cambia el número de columnas interno cuando se elimina un campo. Access también crea un nuevo campo (aumentando el número de columnas interno en 1) para cada campo cuyas propiedades desea modificar.

Solución

Para liberar el número de columnas interno para los campos eliminados o campos cuyas propiedades desea modificar, siga uno de estos procedimientos:

  • Compactar la base de datos. Para ello, elija Utilidades de la Base de datos en el menú Herramientas y, a continuación, haga clic en Compactar y reparar base de datos.

    - o -

  • Crear una nueva copia de la tabla. Para hacerlo, siga estos pasos:

  1. Tome nota de las relaciones con la tabla.

  2. Seleccione la tabla.

  3. En el menú Archivo, haga clic en Guardar como.

  4. En el cuadro Guardar tabla 'nombre de tabla' a , escriba un nombre nuevo y, a continuación, haga clic en Aceptar.

  5. Seleccione la misma tabla que seleccionó en el paso 2 y, a continuación, presione SUPR.

  6. Cambiar el nombre de la tabla que guardó en el paso 3 para el nombre de la tabla original.

  7. Volver a establecer las relaciones con la nueva tabla.

Más información

En Access, puede definir hasta 255 campos en una tabla. Si crea 255 campos y después borra 10, Access no libera los campos del número de columnas interno. Además, para cada campo cuyas propiedades desea modificar, Access crea un nuevo campo y no libera el campo original del número de columnas interno.


Pasos para reproducir el comportamiento

Nota: el código de ejemplo en este artículo utiliza Microsoft Data Access Objects. Para que este código se ejecute correctamente, debe hacer referencia a la biblioteca de objetos Microsoft DAO 3.6. Para ello, haga clic en referencias en el menú Herramientas en el Editor de Visual Basic y asegúrese de que está activada la casilla de verificación Biblioteca de objetos Microsoft DAO 3.6 .

  1. Cree el siguiente de Visual Basic para Aplicaciones de código para crear una nueva tabla con 255 campos:

    ' ****************************************************************
    ' Declarations section of the module
    ' ****************************************************************

    Option Compare Database
    Option 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 tbl

    End Function
  2. Escriba la línea siguiente en la ventana Inmediato para ejecutar la función y crear la tabla:

    Fill_Table
  3. Ver la tabla prueba de campos en la vista Diseño y, a continuación, elimine el último campo de modo que sólo hay 254 campos definidos en la tabla.

  4. Volver a agregar el campo e intente guardar la tabla. Tenga en cuenta que recibirá los mensajes de error siguientes:

    Hay demasiados campos definidos.

    Se produjeron errores durante la operación de guardar operación. No se agregaron los campos. No se actualizaron las propiedades.

Referencias

Para obtener más información acerca de las especificaciones de la base de datos, haga clic en Ayuda de Microsoft Access en el
Menú Ayuda , escriba especificaciones de Access en el Ayudante de Office o el Asistente para Ayuda y, a continuación, haga clic en Buscar para ver los temas devueltos.

¿Necesita más ayuda?

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Unirse a Microsoft Insider

¿Le ha sido útil esta información?

¿Cuál es tu grado de satisfacción con la calidad del lenguaje?
¿Qué ha afectado a tu experiencia?

¡Gracias por sus comentarios!

×