Tabla de contenido
    Reparacion Base Datos Access

    ¿Cómo corregir el error 3159 de MS Access: “Marcador no válido”?


    Tabla de contenido

      Resumen: Los usuarios de MS Access pueden encontrar el error "No es un marcador válido" cuando se utiliza el conjunto de registros en los proyectos de VBA. Este blog discutirá las razones detrás de "MS Access error 3159: No es un marcador válido" y las soluciones para resolverlo. Usted también encontrará acerca de una herramienta de reparación de base de datos Access que puede ayudar a solucionar el error si se produce debido a los registros dañados en la base de datos.

      El error de MS Access “No es un marcador válido” suele producirse cuando se establece la propiedad de marcador de un conjunto de registros con una cadena no válida. La propiedad de marcador se utiliza para acceder/obtener registros en tablas de bases de datos.

      El error aparece así:

      Hay varias razones que pueden provocar el error “No es un marcador válido” en Microsoft Access, como por ejemplo:

      • Cuando se establece una propiedad Recordset.bookmark (DAO) con una cadena no válida.
      • Cuando su base de datos Access está dañada.
      • Cuando intentas marcar una cadena que no se ha guardado antes.

       Métodos para corregir el error 3159 de MS Access: No es un marcador válido

      Puede probar las siguientes soluciones para resolver el error 3159 de MS Access.

      Método 1: Reproducir el error

      Si obtiene el error “Not a valid bookmark” debido a una cadena inválida en la propiedad bookmark, puede reproducir el error para encontrar y corregir la cadena. Para ello, utilice el siguiente código en el módulo:

      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(“Orders”, dbOpenDynaset)
      str = rst(0)
      rst.Bookmark = str
      End Sub

      En la ventana de mensaje de error, haga clic en la opción Depurar y, a continuación,

      • Utiliza la cadena correcta.
      • Actualiza la cadena y guárdala para más tarde.

      Método 2: Utilizar el comando de descompilación

      Cuando el código VBA arroja un error o se comporta de forma extraña, puede utilizar el comando Descompilar. Este comando se utiliza para corregir errores relacionados con VBA. Para utilizar el comando Descompilar, siga estos pasos:

      • Identifique la ruta de su Microsoft Access. Para ello, puede buscar su programa Access desde el Explorador de Windows.
      • Abra la ventana Símbolo del sistema escribiendo cmd en la utilidad Ejecutar.
      • Haga clic en Aceptar.
      • Aparece la ventana cmd.exe.
      • Introduzca el siguiente comando Descompilar.
      C:Archivos de programa (x86)\Microsoft Office\root\Office16\MSACCESS.EXE /decompilar
      • Ahora, abra la base de datos MS Access.
      • Haga clic en Crear > Módulo.
      • Vaya a Depurar > Compilar.
      • Haz clic en Archivo y luego en Guardar.

      Método 3: Reparar la base de datos

      A veces, el error 3159 de MS Access puede producirse cuando la base de datos de MS está dañada. Puede utilizar la utilidad integrada – Compactar y reparar – para reparar la base de datos dañada o corrupta. Para ejecutar esta herramienta, siga estos pasos:

      • Abra Microsoft Access.
      • Vaya a Archivo > Información > Compactar y reparar base de datos.
      • Seleccione el archivo de base de datos Access dañado y haga clic en Aceptar.

      Ahora, compruebe si el problema se ha resuelto. Si el error persiste o la utilidad “Compactar y reparar no funciona”, entonces puede utilizar una herramienta profesional de reparación de Access, como Stellar Repair for Access. Esta herramienta está recomendada por expertos certificados en bases de datos para reparar archivos corruptos de bases de datos Access (.ACCDB y .MDB). Le ayuda a recuperar todos los objetos de la base de datos, incluyendo consultas, informes, tablas, informes, etc. La herramienta es compatible con Office 365, Access 2019, 2016, 2013 y versiones inferiores.

      Cierre

      El error 3159 de MS Access se produce cuando se trabaja con recordsets en código VBA. Suele producirse cuando se intenta utilizar una cadena no válida al establecer la propiedad Recordset.Bookmark. Puede solucionar el problema reproduciendo el error y corrigiendo el valor de la cadena. Si la base de datos está dañada, puede utilizar la herramienta Compactar y reparar de MS Access. Si esta utilidad falla, puede probar Stellar Repair for Access para reparar los archivos de base de datos de Access corruptos. Puede reparar archivos de base de datos gravemente dañados y recuperar todos los datos sin cambiar su estructura original. Es una herramienta avanzada que puede ayudarle a solucionar el error 3159 de MS o cualquier otro error relacionado con la corrupción.

      Was this article helpful?

      No NO

      Sobre el autor

      Himanshu Shakya

      Himanshu is a Tech Enthusiast and Blogger at Stellar, with expertise in data recovery solutions and a keen interest in emerging technologies. Fluent in Japanese, he brings a diverse skill set to his role, contributing to global tech conversations. Outside of work, Himanshu enjoys playing chess, sharpening his strategic thinking and problem-solving skills in his spare time.

      Leave a comment

      Your email address will not be published. Required fields are marked *

      Image Captcha
      Refresh Image Captcha

      Enter Captcha Here :

      Publicación relacionada

      POR QUÉ STELLAR® ES LÍDER MUNDIAL

      ¿Por qué elegir Stellar?

      • 0M+

        Clientes

      • 0+

        Años de excelencia

      • 0+

        Ingenieros de I+D

      • 0+

        Países

      • 0+

        SOCIOS

      • 0+

        Premios recibidos