A mensagem de aviso do Microsoft Access “Run-time error ‘3159’: Not a valid bookmark” geralmente ocorre ao navegar por registros ou formulários no código VBA. Ela indica um indicador corrompido ou uma referência a um registro excluído. Esse erro pode impedir que os usuários do banco de dados acessem os dados corretamente. Ele geralmente aparece após a importação de dados, edição de formulários ou restauração de um backup. Neste blog, vamos nos aprofundar nos detalhes desse erro, incluindo suas causas e, principalmente, como solucioná-lo.
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!
Correções rápidas:
- Reproduce um erro
- Restaurando o banco de dados antigo para o novo banco de dados
- Execute o comando de descompilação
- Compactar e reparar utilitário embutido
- Verificar referências ausentes
- Atualizar ou reinstalar o Access
- Experimente a ferramenta de reparo e recuperação de acesso
Mas antes de prosseguir com as correções, vamos saber algo sobre esse erro junto com as principais causas.
O que é o código de erro 3159?
O código de erro 3159 normalmente ocorre ao trabalhar com registros em um formulário ou relatório, e o valor da propriedade de marcador fica corrompido ou inválido.
Objeto Recordset baseado completamente nas tabelas do mecanismo de banco de dados Access. Quando o valor da propriedade Bookmarkable é definido como True, você pode usar a propriedade de marcador com esse Recordset.
O que é um marcador no MS Access?
No MS Access, marcador é um valor do tipo variante que reconhece exclusivamente o registro em um objeto Recordset do banco de dados. Até mesmo uma matriz variante de marcadores pode ser usada com uma técnica de Filtro de Recordset para filtrar um conjunto específico de registros.
Principais Fatores para o Erro de Marcador Não Válido do MS Access
Existem vários motivos por trás da ocorrência desse erro peculiar do Access. Alguns deles estão listados aqui:
- Quando o usuário marca uma string que não foi salva da leitura anterior da Propriedade de Marcador.
- Tentativa de abrir um arquivo de banco de dados Access corrompido.
- Quando um usuário usa a propriedade de marcador de objetos recordset para marcar uma string inválida.
Agora que você já sabe os motivos, chegou a hora de resolver esse erro usando as melhores soluções mencionadas na próxima seção.
Soluções para corrigir “Não é um marcador válido. (Erro 3159)” No Access
Siga os métodos passo a passo abaixo para resolver o erro de tempo de execução do MS Access 3159 não é um marcador válido.
Solução 1- Reproduce um Erro
Para reproduzir o Access Not A Valid Bookmark Error, os usuários precisam criar a tabela para que no VBA possam criar um conjunto de registros. Depois de clicar no botão do formulário, um erro 3159 será gerado. Depois disso, você deve executar o código abaixo em um módulo:
Código para reproduzir o erro:
Option Compare Database
Private Sub Command0_Click()
Dim rst As Recordset
Dim str As String
‘Error 3159 Not a valid bookmark.
Set rst = CurrentDb.OpenRecordset(“Table1”, dbOpenDynaset)
str = rst(0)
rst.Bookmark = str
End Sub
Em uma janela de mensagem de erro, você deve:
- Clique na opção Depurar
- Em seguida, use uma string precisa.
- Depois disso, atualize uma string e salve-a.
Solução 2- Restaurando o banco de dados antigo para o novo banco de dados
Às vezes, o motivo da corrupção de relacionamentos ou registros de arquivos de acesso também é o armazenamento excessivo de arquivos no banco de dados do Access. Naquela época, é obrigatório que os usuários criem um novo arquivo e exportem os dados dos bancos de dados corrompidos. Se você não sabe como executar esta tarefa, basta seguir estas etapas:
- Em primeiro lugar, inicie o MS Access e selecione o banco de dados em branco presente no MS Access e selecione o botão OK.
- Atribua um nome ao novo banco de dados, selecione um local de arquivo e use a opção Criar.
- Toque no menu do arquivo e, em seguida, vá para os dados externos e opte por Importar.
- Toque no menu de arquivo, mude para dados externos e opte por importar.
- Navegue e selecione o banco de dados corrompido e toque na opção de importação.
- Se os usuários não obtiverem a Janela do objeto mostrando Importar, o processo não poderá ser recuperado para o Banco de Dados do Access.
- Faça uma seleção para o Select on Tables presente no topo da Janela de Importação de objetos, e opte por Select all.
- Repita para a aba na tela e aperte o botão OK caso o processo termine.
Leia também: Corrija o erro de tempo de execução 3047 – O acesso ao registro é muito grande
Solução 3- Execute o comando Decompile para corrigir um marcador não válido. (Erro 3159)
O comando Decompile é outra maneira eficaz que pode ser tentada para resolver como corrigir um marcador não válido no Access. No entanto, este comando é usado principalmente para resolver erros e problemas relacionados a projetos VBA.
Siga as etapas abaixo para executar um comando Decompile:
1- Identifique o caminho do seu MS Access. Para isso, vá ao Windows Explorer e procure o programa Microsoft Access.
2- Em seguida, pressione as teclas Win + R juntas para abrir a caixa Executar, digite CMD e pressione Enter para abrir um Prompt de Comando.
3- Agora, você pode ver a janela cmd.exe é mostrada.
4- Lá, você deve inserir o comando abaixo (comando Decompile):
C:\Program Files (x86)\Microsoft Office\root\Office16\MSACCESS.EXE /decompile
5- Neste momento, abra o banco de dados Access >> clique em Criar >> Módulo.
6- Agora, vá até a opção Depurar > Compilar.
7- Por fim, clique no menu Arquivo e, em seguida, na opção Salvar.
Isso deve corrigir o erro 3159 em seu banco de dados do Access com sucesso.
Solução 4- Compactar e reparar utilitário embutido
Antes de usar a ferramenta integrada compactar e reparar, os usuários devem levar isso em consideração.
- Sempre faça um backup dos arquivos.
- Compactar e reparar os bancos de dados automaticamente.
- Anote a tabela de erros de recuperação do sistema.
- Obtenha acesso ao banco de dados para usar o comando Compactar e Reparar banco de dados.
- Obtenha permissão suficiente para executar funções compactas e de reparo.
A ferramenta utilitária embutida funciona de duas maneiras:
Caminho 1- Quando o banco de dados é aberto pelo usuário:
- Clique na guia Arquivo ⇒ Optar por informações ⇒ Selecione a opção Compactar e reparar o banco de dados
Nota: neste caso, os outros usuários estão usando o arquivo de banco de dados e, portanto, esta função não pode ser executada.
Caminho 2- O banco de dados não foi aberto por nenhum usuário
- Em primeiro lugar, inicie o MS Access, mas não tente abrir os arquivos do banco de dados nele
- Aponte para info ⇒ Clique em Compactar e reparar banco de dados
- Na caixa de diálogo do banco de dados para compactar, navegue e clique duas vezes nos bancos de dados a serem reparados.
Solução 5 – Verificar Referências Ausentes
Verificar se há referências ausentes ou corrompidas é uma excelente solução alternativa para corrigir esse erro. Muitos usuários acharam esse método útil em seus casos; você também pode tentar o seguinte:
- Abra qualquer módulo.
- Navegue até Ferramentas > Referências.
- Agora, desmarque a opção Bibliotecas ausentes ou corrompidas.
- Em seguida, substitua-as por bibliotecas válidas.
Solução 6 – Atualizar ou Reinstalar o Access
Softwares desatualizados podem causar problemas de compatibilidade e levar a esses erros.
- Execute as atualizações do Office.
- Se necessário, reinstale o Microsoft Access para corrigir erros mais profundos.
Solução 7- Experimente a ferramenta de reparo e recuperação de acesso
Para resolver esse erro de consulta de acesso específico, não é um marcador válido, você deve experimentar a ferramenta profissional, ou seja Access Reparar E Recuperação ferramenta. Como esta ferramenta foi projetada especificamente para lidar com os problemas de corrupção do banco de dados do MS Access. Além disso, o software recupera com precisão arquivos MDB e ACCDB inacessíveis de bancos de dados MS Access corrompidos ou danificados.
Os notáveis recursos de destaque do software Access Reparar E Recuperação são:
- Facilita a recuperação de arquivos MDB ou ACCDB de qualquer tipo de banco de dados corrompido
- Recupera a estrutura completa da tabela e a mais importante de todas as estruturas internas de dados, como chaves primárias, numeração automática e tamanhos de campo com precisão
- Recupera rapidamente relacionamentos de tabelas, dados OLE, dados de memorando, etc.
- Antes de iniciar o processo de recuperação, você pode visualizar os dados recuperáveis.
- Além disso, oferece suporte à recuperação de arquivos .accdb/.mdb do banco de dados protegido por senha.
- Recuperação de suporte de todo o banco de dados do MS Access 95/97/2000/XP/2003/2007/2010/2013/2016/2019 versão.

* Ao clicar no botão Download acima e instalar o Stellar Repair for Access (14.8 MB), reconheço que li e concordo com o Contrato de licença do usuário final e a Política de privacidade deste site.
Etapas para usar a ferramenta de reparo de acesso
Leia também: Corrigir o erro de tempo de execução 3047 – Registro muito grande no Access
Perguntas Frequentes:
Por que meu banco de dados está apresentando este erro mesmo após a atualização do Access?
Seu banco de dados está apresentando este erro mesmo após a atualização do Access; é provável que o banco de dados esteja corrompido.
Como corrigir o erro “Bookmark Not Defined”?
Você pode corrigir este erro e restaurar o texto original pressionando Ctrl+Z imediatamente após receber a mensagem.
Existem bancos de dados alternativos ao MS Access?
Sim, existem diversos bancos de dados alternativos ao MS Access, como MySQL, Microsoft SQL Server, Oracle e outros.
Quando devo consultar um profissional para obter ajuda com o erro 3159?
Mesmo após tentar as correções mencionadas nesta publicação, se o erro persistir, é aconselhável procurar ajuda profissional para resolver o erro 3159.
Conclusão:
Erro 3159: não é um marcador válido no Access pode ser um problema desconcertante, mas com o conhecimento e as etapas de solução de problemas corretos, é totalmente administrável. Seguindo as soluções discutidas neste blog, você pode lidar com esse erro sem esforço.
Além disso, para evitar esse erro no futuro próximo, faça backups regulares do banco de dados, valide os favoritos e mantenha o software Access atualizado.
Obrigado pela leitura!
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:
- Baixar Stellar Access banco de dados reparo ferramenta avaliado Excelente sobre Cnet.
- Clique nas opções Browse e Pesquisa para localizar um banco de dados corrompido do Access.
- Clique no botão Reparar para reparar e pré-visualização os objetos do banco de dados.