7 maneiras de corrigir Access não há memória suficiente para executar este erro de operação

Resumo:

Este artigo explica como corrigir o Microsoft Access, pois não há memória suficiente para concluir esse erro de operação. Obtenha também informações detalhadas sobre quando e por que você está recebendo este erro de memória insuficiente no Access.

Quais são as circunstâncias para obter o erro “Não há memória suficiente “ no acesso?

  • Ao executar qualquer operação na tabela do Access, você pode obter a mensagem de erro t aqui não há espaço em disco ou memória suficiente . Principalmente, isso acontece quando a operação realizada faz um grande número de bloqueios de página.
  • Quando você executa a consulta de ação em uma mesa grande, pode obter este erro de espaço de memória insuficiente . Após a ocorrência desta mensagem de erro, todas as alterações de dados que a consulta de ação vai fazer serão revertidas.

Avaliado como Excelente em Trustpilot
Ferramenta Gratuita de Reparo de Banco de Dados do MS Access
Repare arquivos de banco de dados MDB e ACCDB corrompidos e recupere tabelas de banco de dados, consultas, índices e registros excluídos facilmente. Tente agora!

Por que você está chegando lá Não há memória suficiente para executar esta operação Erro no Access?

Bem, a primeira razão para obter esse erro de memória insuficiente é que o bloqueio de página excedeu o valor MaxLocksPerFile, que é importante para as transações. Por padrão, o valor de MaxLocksPerFile é 9500 bloqueios e é salvo no registro do Windows.

Outros motivos podem ser RAM insuficiente, falta de memória virtual ou falha na atualização do Windows.

Como corrigir Access Não há memória suficiente para concluir este erro de operação?

Você pode tentar as seguintes soluções alternativas para corrigir o Access – não há memória suficiente para concluir este erro de operação .

Método 1: Alterar o valor de MaxLocksPerFile do Regedit.exe

No registro do sistema, Regedit.exe, você precisa alterar o valor de MaxLocksPerFile permanentemente.

Use o Editor do Registro para aumentar o valor de MaxLocksPerFile presente na seguinte chave fornecida:

  • Para o aplicativo MS Access 2000 / MS Access 2002 / MS Office Access 2003 em execução no sistema operacional Windows de 32 bits:

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

  • Para o aplicativo MS Access 2000 / MS Access 2002 / MS Office Access 2003 em execução no sistema operacional Windows de 64 bits:

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

  • Para aplicativos MS Access 2007 em execução no sistema operacional Windows de 32 bits:

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

  • Para o aplicativo MS Access 2007 em execução no sistema operacional Windows de 64 bits:

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

  • Para o aplicativo MS Access 2010 em execução no sistema operacional Windows de 32 bits:

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

  • Para o aplicativo MS Access 2010 em execução no sistema operacional Windows de 64 bits:

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

  • Para o aplicativo MS Access 2013 em execução no sistema operacional Windows de 32 bits:

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

  • Para MS Access 2013. Principalmente os que estão sendo executados no sistema operacional Windows de 64 bits:

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

  • Para o aplicativo MS Access 2016 em execução no sistema operacional Windows de 32 bits:

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

  • Para o aplicativo MS Access 2016 em execução no sistema operacional Windows de 64 bits:

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

Observe que esse método altera a configuração do Registro para todos os aplicativos que usam o mecanismo de banco de dados Microsoft Jet versão 4.0.

Método 2 # Usando Setoption para alterar Maxlocksperfile temporariamente

No objeto DBEngine , há um método SetOption . Você pode usar este método para alterar o valor de MaxLocksPerFile no código por um período temporário.

Bem, este método SetOption substitui o valor das chaves do mecanismo de banco de dados Microsoft Jet no registro do sistema apenas por um período temporário.

Seu novo valor atribuído permanecerá intacto até que você o modifique novamente ou até e a menos que os objetos DBEngine sejam fechados.

O código de exemplo fornecido a seguir usa o DAO (Data Access Objects).

Para executar este código corretamente, você precisa consultar a biblioteca de objetos do Microsoft DAO 3.6.

  • Em primeiro lugar, abra o Editor do Visual Basic e clique em ferramentas> opções de referências no menu.
  • Na janela de Referências aberta, certifique-se de que a caixa de seleção Microsoft DAO 3.6 Object Library esteja marcada.

 Nota:

As alterações feitas no MaxLocksPerFilesetting com o uso do método SetOption só estão disponíveis por meio da sessão atual do DAO (Data Access Objects).

As consultas que são executadas principalmente por meio da interface do usuário do MS Access ainda podem usar as configurações do registro.

O exemplo de código a seguir o ajudará a definir o valor de MaxLocksPerFile como 200.000; logo antes de executar a tarefa de atualização dentro da transação:

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 # Definindo a propriedade Usetransaction em uma consulta de ação

Se você está obtendo este acesso , não há memória suficiente para executar este erro de operação enquanto executa a consulta de ação . Nesse caso, você precisa modificar a consulta e definir sua propriedade UseTransaction como Não .

Se uma consulta de ação armazenada anteriormente estiver causando esse erro, defina NÃO na propriedade de UseTransaction .

Observações:

Tenha cuidado porque você não pode desfazer suas alterações se encontrar algum erro ou problema durante a execução da consulta.

  1. Abra sua consulta do Access na visualização Design.
  2. Agora clique na opção Exibir> Propriedades do menu.
  3. Toque nos espaços vazios presentes na seção superior da janela de consulta para visualizar a caixa de diálogo Propriedades da consulta.
  4. Defina a propriedade de UseTransaction como Não .
  5. Agora salve a hora de salvar a consulta e fechá-la.

Método 4 # Use código para adicionar campo na visualização do projeto do Access

 Se você está obtendo o mesmo , não há erro de memória suficiente sempre que você tenta adicionar um novo campo na visualização do design da tabela.

Em seguida, tente o seguinte código para corrigir esse problema. O código fornecido é bastante básico e você vai adorar adicioná-lo para tornar o trecho de código poderoso.

Aqui está o 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 arquivo de paginação (memória virtual)

Esse erro específico “ não há memória suficiente para executar esta operação” também ocorre quando a RAM do sistema não é capaz de lidar com todas as solicitações.

Quando tal problema surge, seu PC começa a usar os arquivos de paginação (memória virtual) para o armazenamento temporário dos dados adicionais.

Esta memória virtual ou arquivo de paginação não é gerenciado corretamente. Portanto, você precisa gerenciá-lo corretamente e manualmente.

Aqui está como você pode executar esta tarefa:

  • Na caixa de pesquisa do menu Iniciar, digite desempenho e pressione o botão Enter.
  • Clique na opção Ajustar aparência e desempenho do Windows .

Aumentar arquivo de paginação 1

  • Na janela aberta da opção de desempenho , vá para a guia Avançado .
  • Aperte o botão Alterar e isso abre a tela da memória virtual.

Aumentar arquivo de paginação 2

  • Escolha o disco (disco do tipo SSD ou de preferência não o C 🙂 depois escolha a opção Tamanho personalizado . Nas duas caixas de dimensões finais e iniciais fornecidas, coloque exatamente o mesmo valor de tamanho no MB.
  • Clique na opção Definir e, em seguida, toque em OK.

Aumentar arquivo de paginação 3

  • Para ver todas as alterações aplicadas, reinicie o PC.

Método 6 # Atualizar o Windows

Se você for um usuário do Windows 10, vá para o aplicativo Configurações e verifique as atualizações que ainda não estão instaladas no seu PC. Esta atualização do Windows é muito útil para corrigir muitos bugs e problemas que surgem no seu PC. Isso terá um impacto positivo na RAM do seu PC.

windows-update

Portanto, se o seu sistema estiver mostrando o erro “não há memória suficiente”, ele também será resolvido após fazer a atualização do Windows.

Método 7 # Adicionar RAM

Se ainda assim você receber o erro “não há memória suficiente para completar esta operação” , pode ser devido à falta de RAM. Para lidar com tal situação, você precisa comprar e instalar um novo módulo de memória em seu PC.

Embrulhar:

Espero que você tenha achado este guia útil para corrigir Access pois não há memória suficiente para concluir este erro de operação.

Deixe-nos saber se o seu problema foi resolvido ou não usando as correções fornecidas acima, compartilhando suas experiências na seção de comentários.

Ainda está com problemas? Corrija-os com Stellar reparação para Access:

Este software garante sem costura reparo e recuperação do banco de dados ACCDB e MDB. Ele restaura todos os objetos, incluindo tabelas, relatórios, consultas, registros, formulários e índices, juntamente com módulos, macros, etc. Corrija os problemas do Microsoft Access agora em 3 etapas fáceis:

  1. Baixar Stellar Access banco de dados reparo ferramenta avaliado Excelente sobre Cnet.
  2. Clique nas opções Browse e Pesquisa para localizar um banco de dados corrompido do Access.
  3. Clique no botão Reparar para reparar e pré-visualização os objetos do banco de dados.

Pearson Willey é escritor de conteúdo de sites e longo- planejador de conteúdo do formulário. Além disso, ele também é um ávido leitor. Assim, ele sabe muito bem como escrever um conteúdo atraente para os leitores. Escrever é como uma vantagem crescente para ele. Ele adora explorar seu conhecimento no MS Access e compartilhar blogs de tecnologia.