Come risolvere l’errore 3159 di MS Access – “Non è un segnalibro valido”?

Summary: Gli utenti di MS Access possono incontrare l'errore "Segnalibro non valido" quando utilizzano il record set nei progetti VBA. Questo blog illustra i motivi alla base dell'errore "MS Access 3159: Segnalibro non valido" e le soluzioni per risolverlo. Troverete anche uno strumento di riparazione del database di Access che può aiutarvi a risolvere l'errore se si verifica a causa di record danneggiati nel database.

L’errore di MS Access “Segnalibro non valido” si verifica solitamente quando si imposta la proprietà segnalibro di un record set con una stringa non valida. La proprietà segnalibro viene utilizzata per accedere ai record delle tabelle del database.

L’errore si presenta in questo modo:

Ci sono vari motivi che possono portare all’errore “Segnalibro non valido” in Microsoft Access, ad esempio:

 Metodi per risolvere l’errore 3159 di MS Access: Segnalibro non valido

È possibile provare le seguenti soluzioni per risolvere l’errore 3159 di MS Access.

Metodo 1: riprodurre l’errore

Se si ottiene l’errore “Non è un segnalibro valido” a causa di una stringa non valida nella proprietà del segnalibro, è possibile riprodurre l’errore per trovare e correggere la stringa. A tale scopo, utilizzare il codice seguente nel modulo:

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

Nella finestra del messaggio di errore, fare clic sull’opzione Debug e poi,

Metodo 2: utilizzare il comando Decompila

Quando il codice VBA lancia un errore o si comporta in modo strano, è possibile utilizzare il comando Decompila. Questo comando viene utilizzato per correggere gli errori relativi a VBA. Per utilizzare il comando Decompila, procedere come segue:

C:\Program Files (x86)\Microsoft Office\root\Office16\MSACCESS.EXE /decompilare

Metodo 3: Riparazione del database

A volte, l’errore 3159 di MS Access può verificarsi quando il database MS è danneggiato. È possibile utilizzare l’utilità integrata – Compatta e ripara – per riparare il database danneggiato o corrotto. Per eseguire questo strumento, seguite i seguenti passaggi:

A questo punto, verificare se il problema è stato risolto. Se l’errore persiste o l’utilità “Compatta e ripara non funziona”, è possibile utilizzare uno strumento di riparazione professionale per Access, come Stellar Repair for Access. Questo strumento è raccomandato da esperti di database certificati per riparare i file di database Access corrotti (.ACCDB e .MDB). Consente di recuperare tutti gli oggetti del database, tra cui query, relazioni, tabelle, report, ecc. Lo strumento è compatibile con Office 365, Access 2019, 2016, 2013 e versioni inferiori.

Chiusura

L’errore 3159 di MS Access si verifica quando si lavora con i recordset nel codice VBA. Di solito si verifica quando si tenta di utilizzare una stringa non valida durante l’impostazione della proprietà Recordset.Bookmark. È possibile risolvere il problema riproducendo l’errore e correggendo il valore della stringa. Se il database è danneggiato, è possibile utilizzare lo strumento Compatta e ripara di MS Access. Se questa utility non funziona, si può provare Stellar Repair for Access per riparare i file di database di Access corrotti. È in grado di riparare i file di database gravemente danneggiati e di recuperare tutti i dati senza modificare la struttura originale. È uno strumento avanzato che può aiutare a risolvere l’errore MS 3159 o qualsiasi altro errore legato alla corruzione.

Related Post

Exit mobile version