¿Cómo solucionar “Los cambios que solicitó en la tabla no fueron exitosos (Error 3022)” en Access?

Al manejar la base de datos de Microsoft Access, los usuarios suelen encontrar varios errores y problemas que perturban su flujo de trabajo. Uno de esos mensajes de error que los usuarios están experimentando e informando actualmente es: “The changes you requested to the table were not successful…” en Access. Suele ocurrir cuando intentan agregar un nuevo registro en la tabla de base de datos que tiene el campo Autonumeración. Sin embargo, puede resultar molesto recibir este error, ya que restringe la realización de actividades en la base de datos, por lo que debe solucionarse lo antes posible.

Aquí está la captura de pantalla del error:

Los cambios que solicitó en la tabla no fueron exitosos (Error 3022)

Entonces, en este blog, hablaré en detalle sobre el error 3022 de MS Access junto con las razones que lo desencadenan y brindaré soluciones funcionales para solucionarlo.

Calificación Excelente en Trustpilot
Herramienta Gratuita de Reparación de Bases de Datos de MS Access
Repare archivos corruptos de bases de datos MDB y ACCDB y recupere fácilmente tablas, consultas, índices y registros de bases de datos eliminados. Probar ahora!
Descargar
Descargo de responsabilidad: para reparar la base de datos, usted necesidad de actualizar a un plan pagado.Al hacer clic en el botón Descargar arriba e instalar Stellar Repair for Access (14.8 MB), reconozco que he leído y acepto el Acuerdo de licencia de usuario final y la Política de privacidad de este sitio.

Arreglos rápidos:

¿Qué significa el error de Access “Los cambios que solicitó en la tabla no fueron exitosos”?

Cuando encuentra el mensaje de error que se menciona a continuación al intentar insertar un nuevo registro en la tabla de base de datos, significa que hay valores duplicados en el índice, la clave principal o la relación.

The changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship. Change the data in the field or fields that contain duplicate data, remove the index, or redefine the index to permit duplicate entries and try again.

Podría haber varias razones detrás de este error. Aquí he seleccionado los factores más comunes:

  • Corrupción en el conjunto de especificaciones.
  • La base de datos de acceso fue compactada de alguna manera.
  • La tabla contiene un campo de numeración automática que no se ha reiniciado correctamente.
  • Debe tener instalado Microsoft Jet 4.0 Database Engine Service Pack 8 (SP8).
  • Quizás haya agregado los datos de la tabla vinculada 1 a la tabla vinculada 2 usando la opción Base de datos actual en lugar de Otra base de datos. Elimine el registro de la tabla vinculada 1 y vuelva a agregar el registro exacto de la tabla vinculada 2 usando la opción Base de datos actual.

Las soluciones para arreglar los cambios que solicitó en la mesa no tuvieron éxito

Esta sección contiene varias soluciones para resolver el error 3022 de MS Access.

Solución 1: utilice una consulta de definición de datos

El primer método que debe probar es utilizar la consulta de definición de datos para abrir la base de datos de Access.

Para usuarios de Access 2007:

  • Vaya a la pestaña Crear; haga clic en Diseño de consulta en el Otro
  • En el cuadro de diálogo Mostrar tabla, toque la opción de cerrar.
  • Ahora vaya a la pestaña Diseño, haga clic en Vista SQL en Resultados
  • Escriba lo siguiente en la ventana Consulta1:

error 3022 de MS Access

ALTER TABLE TableNameALTER COLUMN AutoNumFieldNameCOUNTER(iMaxID,1);

Nota:

TableName es un marcador de posición para el nombre de la tabla. AutoNumFieldName es un marcador de posición para el nombre del campo Autonumérico. iMaxID es un marcador de posición para el valor máximo actual en el campo más 1.

  • Desde la pestaña Diseño, toque la opción Ejecutar en Resultados

Para usuarios de Access 2003:

  • Haga clic en consultas debajo de los objetos en la ventana de la base de datos.
  • Después de eso, haga clic en Nuevo, haga clic en Vista de diseño y luego haga clic en Aceptar.
  • En el cuadro de diálogo abierto Mostrar tabla, haga clic en la opción de cerrar.
  • En el menú de consulta, haga clic en SQL específico y luego haga clic en Definición de datos.

error 3022 de MS Access

  • Desde la ventana Consulta de definición de datos, escriba el command.ALTER TABLE TableNameALTER COLUMN AutoNumFieldNameCOUNTER(iMaxID,1); Note:

Aquí TableName significa claramente el nombre de la tabla. Y AutoNumFieldName indica el nombre del campo Autonumérico. Mientras que iMaxID representa el valor máximo actual en el campo más 1.

  • En el menú Consulta, haga clic en Ejecutar.

Lea también: Solucione el error de acceso “No tiene acceso exclusivo a la base de datos en este momento”

Solución 2: Ejecute Visual Basic para el código de la aplicación

Access 2007

  • Vaya a la pestaña Crear, haga clic en la flecha hacia abajo debajo de Macro y luego haga clic en Módulo.

Access 2003

  • Vaya a la ventana de la base de datos, haga clic en Módulos en Objetos y luego haga clic en Nuevo.
  • Luego, en el Editor de Visual Basic, pegue el siguiente código.

Sub ResetAuto()

Dim iMaxID As Long

Dim sqlFixID As String

  iMaxID = DMax(“<AutonumberFieldName>”, “<TableName>”) + 1      

  sqlFixID = “ALTER TABLE <TableName> ALTER COLUMN <AutonumberFieldName> COUNTER(” & <iMaxID> & “,1)” 

  DoCmd.RunSQL sqlFixID

End Sub

Note The placeholder <AutonumberFieldName> represents the name of the Autonumber field. The placeholder <TableName> represents the name of the table.

  1. En el menú Ejecutar, haga clic en Ejecutar Sub/UserForm.

Nota:

Cierre la tabla antes de utilizar cualquiera de los métodos. No es necesario guardar la consulta o el módulo después de utilizar con éxito cualquiera de los dos métodos anteriores.

Solución 3: corrija los cambios que solicitó en la tabla que no tuvieron éxito eliminando la clave principal actual

Para resolver el error de Access ‘3022’: los cambios que solicitó en la tabla no se realizaron correctamente en la base de datos de Access 2013/2016. El usuario debe diseñar las tablas para eliminar la posibilidad de ingresar valores duplicados en el campo de clave principal o en el campo que utiliza un índice único.

Si la clave principal utilizada debe admitir valores duplicados, entonces debe eliminar la clave principal actual y agregar un campo Autonumérico a su tabla que funcione como clave principal.

Para eliminar la clave principal

Eliminar la clave principal no eliminará los campos o campos de su tabla. Más bien elimina la designación de clave principal de esos campos.

También elimina el índice de la clave principal que se creó para la clave principal.

  • Antes de eliminar la clave principal, asegúrese de que no contenga ninguna relación de tabla. Si aún intenta eliminar la clave principal que contiene las relaciones, Access le advierte que primero debe eliminar la relación.
  • Ahora, en el panel de navegación, haga clic con el botón derecho en la tabla en la que desea eliminar la clave principal y toque la opción Vista de diseño.
  • Toque el selector de fila actual para obtener la clave principal más reciente.
  • Si la clave principal contiene un solo campo, haga clic en el selector de fila para ese campo.
  • Pero si consta de varios campos, presione el selector de fila para cualquier campo en la clave principal.
  • Ahora vaya a la pestaña Diseño en el grupo Herramientas y haga clic en la opción Clave principal.

error 3022 de MS Access

Luego de realizar este procedimiento completo verás que el indicador clave se elimina del campo o campos que previamente especificaste como clave principal.

Para agregar una clave principal de numeración automática

Cuando cualquier usuario crea una nueva tabla en la vista de hoja de datos, Access crea de forma predeterminada una clave principal para usted y le asigna el tipo de datos Autonumérico.

 Si tiene una tabla existente a la que desea agregar un campo de clave principal, ábrala en la vista de diseño:

  • Vaya al Panel de navegación y haga clic con el botón derecho en la tabla a la que desea agregar la clave principal y luego presione la Vista de diseño.
  • Ahora ubique la primera fila vacía en la cuadrícula de diseño de la tabla.
  • En la columna Nombre del campo, asigne algún nombre.
  • En la columna Tipo de datos presione la flecha desplegable y toque la opción Autonumérico.

error 3022 de MS Access

  • Dentro de Propiedades de campo, en Nuevos valores, haga clic en la opción Incrementar para usar valores numéricos incrementales para la clave principal, o haga clic en Aleatorio para usar números aleatorios.

Es posible que desee ver los índices de la tabla para evaluar su impacto en el rendimiento o para asegurarse de que determinados campos estén indexados.

Lea también: Solucione el error “Su base de datos de Microsoft Access contiene una referencia rota que falta”

Solución 4- Reparar el archivo de base de datos

Incluso puede enfrentar el error “los cambios que solicitó en la tabla no tuvieron éxito porque crearían un valor duplicado” debido a la corrupción o al archivo db de gran tamaño. En tal caso, utilizando la función Compactar y Reparar en Access, puede compactar y reparar archivos de base de datos dañados.

Siga los siguientes pasos:

  • Aplicación de Acceso Abierto.
  • Haga clic en la página Plantillas >> Base de datos en blanco.
  • Vaya al Archivo >> haga clic en Cerrar.
  • A continuación, navegue hasta Herramientas de base de datos >> haga clic en Compactar y reparar base de datos.

Compactar y reparar base de datos

  • Elija la base de datos afectada en las ventanas abiertas.
  • Elija una opción Compacta.
  • Ahora, el archivo de base de datos compactado y reparado se guardará en la misma ubicación donde se guardó el archivo original.

Solución 5: ¿Qué pasa si los manuales fallan?

Si se produjo el error de acceso 3022 debido a una corrupción grave en la base de datos, opte por la opción Access Reparar Herramienta. Es un programa influyente que es suficientemente capaz de reparar archivos de bases de datos gravemente dañados (.ACCDB/.MDB).

Además, incluso puedes descargar la versión de demostración gratuita del software para escanear un archivo corrupto y obtener una vista previa de los datos recuperables.

* Al hacer clic en el botón Descargar arriba e instalar Stellar Repair for Access (14.8 MB), reconozco que he leído y acepto el Acuerdo de licencia de usuario final y la Política de privacidad de este sitio.

Pasos para resolver la corrupción de Access DB

access-repair-main-screen-es-1
access-select-database-es-2
access-repairing-es-3
access-repairing-completed-es-4
access-preview-es-5
access-save-location-es-6
access-saving-es-7
previous arrow
next arrow

Envolver Up:

Con suerte, todas las correcciones mencionadas anteriormente lo ayudarán a resolver este error 3022 en tiempo de ejecución de MS Access. Después de usar estas correcciones, comparta sus opiniones en nuestras cuentas sociales como Twitter.

¿Aún tienes problemas? Arreglarlos con Stellar reparación para Access:

Este software asegura sin costura reparación y recuperación de la base de datos ACCDB y MDB. Es Restaura todos los objetos, incluidas tablas, informes, consultas, registros, formularios e índices, junto con módulos, macros, etc. Solucione los problemas de Microsoft Access ahora en 3 sencillos pasos:

  1. Descargue Stellar Access base de datos reparación herramienta calificado como Excelente en Cnet.
  2. Haga clic en la opción Examinar y Buscar para localizar la base de datos de Access corrupta.
  3. Haga clic en el botón Reparar para reparar y obtener una vista previa de los objetos de la base de datos.

Pearson Willey es escritor de contenido de sitios web y planificador de contenido de formato largo. Además de esto, también es un ávido lector. Por lo tanto, sabe muy bien cómo escribir un contenido atractivo para los lectores. Escribir es como una ventaja creciente para él. Le encanta explorar sus conocimientos on MS Access y compartiendo Tecnología blog.