7 formas de arreglar el Access No hay suficiente memoria para realizar este error de operación

Resumen:

Este artículo explica cómo reparar Microsoft Access porque no hay suficiente memoria para completar este error de operación . También obtenga información detallada sobre cuándo y por qué está recibiendo este error de memoria insuficiente en Access.

¿Cuáles son las circunstancias para obtener un error de Access “No hay suficiente memoria ” ?

  • Mientras realiza cualquier operación en la tabla de acceso, puede recibir el mensaje de error ” No hay suficiente espacio en disco o memoria” . Principalmente, esto sucede cuando la operación realizada realiza una gran cantidad de bloqueos de página.
  • Cuando ejecuta la consulta de acción en una tabla grande, puede obtener este error de espacio de memoria insuficiente . Después de la aparición de este mensaje de error, todos los cambios de datos que va a hacer la consulta de acción se revertirán.

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.

¿Por qué está obteniendo? ¿No hay suficiente memoria para realizar esta operación? Error en Access?

Bueno, la primera razón detrás de este error de memoria insuficiente es que el bloqueo de página ha superado el valor de MaxLocksPerFile , que es importante para las transacciones. Por defecto, el valor de MaxLocksPerFile es 9500 bloqueos y se guarda en el registro de Windows.

Otras razones pueden ser RAM insuficiente, falta de memoria virtual o falla en la actualización de Windows.

¿Cómo arreglar el Access No hay suficiente memoria para completar esta operación de error?

Puede probar las siguientes soluciones alternativas para arreglar Access no hay suficiente memoria para completar este error de operación .

Método 1: Cambiar MaxLocksPerFile Valor De La Regedit.exe

En el registro de su sistema Regedit.exe necesita cambiar el valor de MaxLocksPerFile de forma permanente.

Utilice el Editor del registro para aumentar el valor de MaxLocksPerFile presente dentro de la siguiente clave dada:

  • Para la aplicación MS Access 2000 / MS Access 2002 / MS Office Access 2003 que se ejecuta en el sistema operativo Windows de 32 bits:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Jet \ 4.0 \ Engines \ Jet 4.0

  • Para la aplicación MS Access 2000 / MS Access 2002 / MS Office Access 2003 que se ejecuta en el sistema operativo Windows de 64 bits:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Jet \ 4.0 \ Engines \ Jet 4.0

  • Para la aplicación MS Access 2007 que se ejecuta en el sistema operativo Windows de 32 bits:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Office \ 12.0 \ Access Connectivity Engine \ Engines \ ACE

  • Para la aplicación MS Access 2007 que se ejecuta en el sistema operativo Windows de 64 bits:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Office \ 12.0 \ Access Connectivity Engine \ Engines \ ACE

  • Para la aplicación MS Access 2010 que se ejecuta en el sistema operativo Windows de 32 bits:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Office \ 14.0 \ Access Connectivity Engine \ Engines \ ACE

  • Para la aplicación MS Access 2010 que se ejecuta en el sistema operativo Windows de 64 bits:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Office \ 14.0 \ Access Connectivity Engine \ Engines \ ACE

  • Para la aplicación MS Access 2013 que se ejecuta en el sistema operativo Windows de 32 bits:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Office \ 15.0 \ Access Connectivity Engine \ Engines \ ACE

  • Para MS Access 2013. Principalmente los que se ejecutan en el sistema operativo Windows de 64 bits:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Office \ 15.0 \ Access Connectivity Engine \ Engines \ ACE

  • Para la aplicación MS Access 2016 que se ejecuta en el sistema operativo Windows de 32 bits:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Office \ 16.0 \ Access Connectivity Engine \ Engines \ ACE

  • Para la aplicación MS Access 2016 que se ejecuta en el sistema operativo Windows de 64 bits:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Office \ 16.0 \ Access Connectivity Engine \ Engines \ ACE

Tenga en cuenta que este método cambia la configuración del registro para todas las aplicaciones que utilizan la versión 4.0 del motor de base de datos Microsoft Jet.

Método 2 # Uso de la configuración para cambiar Maxlocksperfile temporalmente

En el objeto DBEngine , hay un método SetOption . Puede utilizar este método para cambiar el valor de MaxLocksPerFile en el código durante un período temporal.

Bueno, este método SetOption anula el valor de las claves del motor de base de datos Microsoft Jet en el registro del sistema solo por un período temporal.

Su nuevo valor asignado permanecerá intacto hasta que lo modifique de nuevo o hasta y a menos que se cierren los objetos DBEngine .

El código de muestra que se proporciona a continuación utiliza DAO (objetos de acceso a datos).

Para ejecutar este código correctamente, debe hacer referencia a la biblioteca de objetos Microsoft DAO 3.6.

  • Primero abra el Editor de Visual Basic y luego presione las herramientas> opciones de referencias en el menú.
  • En la ventana abierta de Referencias, asegúrese de que la casilla de verificación de Microsoft DAO 3.6 Object Library esté seleccionada.

 Nota:

Los cambios realizados en MaxLocksPerFilesetting haciendo uso del método SetOption solo están disponibles a través de la sesión actual de DAO (Objetos de acceso a datos).

Las consultas que se ejecutan principalmente a través de la interfaz de usuario de MS Access aún pueden usar la configuración del registro.

El siguiente ejemplo de código le ayudará a establecer el valor de MaxLocksPerFile en 200.000; justo antes de ejecutar la tarea de actualización dentro de la transacción:

VBCopy
Sub LargeUpdate()
On Error GoTo LargeUpdate_Error
Dim db As DAO.Database, ws As DAO.Workspace

‘ Set MaxLocksPerFile.
DBEngine.SetOption dbMaxLocksPerFile, 200000

Set db = CurrentDb
Set ws = Workspaces(0)

‘ Perform the update.
ws.BeginTrans
db.Execute “UPDATE BigTable SET Field1 = ‘Updated Field’”, _
dbFailOnError

ws.CommitTrans

db.Close
MsgBox “Done!”
Exit Sub

LargeUpdate_Error:
MsgBox Err & ” ” & Error
ws.Rollback
MsgBox “Operation Failed – Update Canceled”
End Sub

Método 3 # Configuración de la propiedad Usetransaction en una consulta de acción

Si obtiene este acceso, no hay suficiente memoria para realizar este error de operación mientras se ejecuta la consulta de acción . En ese caso, es necesario modificar la consulta y establecer su UseTransactionproperty a n .

Si una consulta de acción almacenada previamente está causando este error, establezca NO en la propiedad de UseTransaction .

Observaciones:

Tenga cuidado porque no puede deshacer sus cambios si encuentra algún error o problema mientras se ejecuta la consulta.

  1. Abra su consulta de Access en la vista Diseño.
  2. Ahora haga clic en la opción Ver> Propiedades del menú.
  3. Haga un toque sobre los espacios vacíos presentes en la sección superior de la ventana de la consulta para ver el cuadro de diálogo Propiedades de la consulta.
  4. Establecer la propiedad de UseTransaction a n .
  5. Ahora ahorre tiempo para guardar la consulta y luego cerrarla.

Método 4 # Usar código para agregar campos en la vista Diseño de Access

 Si obtiene lo mismo, no hay suficiente error de memoria cada vez que intenta agregar un nuevo campo en la vista de diseño de la tabla.

Luego, pruebe el siguiente código para solucionar este problema. El código proporcionado es bastante básico y le encantará agregarlo para que el fragmento de código sea poderoso.

Aquí está el código:

Sub AddFieldToTable(ByVal tableName As String, fieldName As String, fieldType As Integer)

Dim objDB As Database

Dim objTableDef As TableDef

Dim objField As Field

Set objDB = CurrentDb

Set objTableDef = objDB.TableDefs(tableName)

‘add the new field

With objTableDef

Set objField = .CreateField(fieldName, fieldType)

.Fields.Append objField

‘You can also set other properties for the field (such as null values allowed etc) here

If fieldType = dbText Then

.Fields(fieldName).AllowZeroLength = False

End If

End With

Set objField = Nothing

Set objTableDef = Nothing

Set objDB = Nothing

End Sub

Método 5 # Aumentar el archivo de paginación (memoria virtual)

Este error específico ” no hay suficiente memoria para realizar esta operación” también se produce cuando la RAM de su sistema no es capaz de manejar todas las solicitudes.

Cuando surge un problema de este tipo, su PC comienza a utilizar los archivos de paginación (memoria virtual) para el almacenamiento temporal de los datos adicionales.

Esta memoria virtual o archivo de paginación no se administra correctamente. Por lo tanto, debe administrarlo correctamente de forma manual.

Así es como puede realizar esta tarea:

  • En el cuadro de búsqueda del menú Inicio, escriba rendimiento y presione el botón Intro.
  • Presione la opción Ajustar la apariencia y el rendimiento de la opción de Windows .

Aumentar el archivo de paginación 1

  • En la ventana abierta de la opción de rendimiento , vaya a la pestaña Avanzado .
  • Presione el botón Cambiar y esto abre la pantalla de memoria virtual.

Aumentar el archivo de paginación 2

  • Elija el disco (disco tipo SSD o preferiblemente no el C 🙂 y luego elija la opción Tamaño personalizado . En las dos casillas dadas de dimensiones finales e iniciales, ponga exactamente el mismo valor de tamaño en el MB.
  • Presiona la opción Establecer , y luego presiona OK.

Aumentar el archivo de paginación 3

  • Para ver todos los cambios aplicados, reinicie su PC.

Método 6 # Actualizar Windows

Si es un usuario de Windows 10, vaya a la aplicación Configuración y verifique las actualizaciones que aún no están instaladas en su PC. Esta actualización de Windows es muy útil para corregir muchos errores y problemas que surgen en su PC. Esto tendrá un impacto positivo en la RAM de su PC.

windows-update

Por lo tanto, si su sistema muestra un error de “no hay suficiente memoria”, también se resolverá después de actualizar Windows.

Método 7 # Agregar RAM

Si sigue recibiendo el error “no hay suficiente memoria para completar esta operación” , puede deberse a la falta de RAM. Para hacer frente a esta situación, debe comprar e instalar un nuevo módulo de memoria en su PC.

Envolver:

Espero que esta guía le haya resultado útil para arreglar Access, no hay suficiente memoria para completar este error de operación.

Háganos saber si su problema está resuelto o no utilizando las correcciones dadas anteriormente compartiendo sus experiencias en la sección de comentarios.

¿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.