Il messaggio di avviso di Microsoft Access “Run-time error ‘3159’: Not a valid bookmark” si verifica in genere durante la navigazione tra record o moduli nel codice VBA. Indica un segnalibro danneggiato o un riferimento a un record eliminato. Questo errore può impedire agli utenti del database di accedere correttamente ai dati. Spesso si verifica dopo l’importazione di dati, la modifica di moduli o il ripristino di un backup. In questo blog, approfondiremo le cause di questo errore, incluse le relative cause e, soprattutto, come risolverlo.

Strumento di Riparazione Database MS Access Gratuito
Ripara i file di database MDB e ACCDB corrotti e recupera facilmente tabelle, query, indici e record di database eliminati. Prova ora!
Facendo clic sul pulsante Download sopra e installando Stellar Repair for Access (14.8 MB), riconosco di aver letto e accettato il Contratto di licenza per l'utente finale e la Politica sulla riservatezza di questo sito.
Soluzioni veloci:
- Riprodurre un errore
- Ripristino del vecchio database nel nuovo database
- Eseguire il comando Decompila
- Utilità integrata compatta e ripara
- Verificare la presenza di riferimenti mancanti
- Aggiornare o reinstallare Access
- Prova lo strumento di ripristino e ripristino degli accessi
Ma prima di procedere verso le correzioni, sappiamo qualcosa su questo errore insieme alle cause principali.
Cos’è il codice di errore 3159?
Il codice di errore 3159 si verifica in genere quando si lavora con record in una maschera o in un report e il valore della proprietà bookmark risulta danneggiato o non valido.
Oggetto Recordset basato completamente sulle tabelle del motore di database di Access. Quando il valore della proprietà Bookmarkable è impostato su True, è possibile utilizzare la proprietà bookmark con quel Recordset.
Cos’è Bookmark in MS Access?
In MS Access, bookmark è un valore di tipo variant che riconosce esclusivamente il record in un oggetto Recordset del database. Anche un array variant di segnalibri può essere utilizzato con una tecnica di filtro Recordset per filtrare un set specifico di record.
Fattori principali per l’errore “Segnalibro non valido” in MS Access
Esistono diverse cause alla base di questo peculiare errore di Access. Alcune di queste sono elencate di seguito:
- Quando l’utente aggiunge ai segnalibri una stringa che non è stata salvata in precedenza dalla lettura della proprietà Bookmark.
- Tentativo di aprire un file di database di Access danneggiato.
- Quando un utente utilizza la proprietà bookmark degli oggetti Recordset per aggiungere ai segnalibri una stringa non valida. Quindi, ora che ne conosci i motivi, è il momento di risolvere questo errore utilizzando le migliori soluzioni menzionate nella prossima sezione.
Soluzioni per correggere “Non A Segnalibro valido. (Errore 3159)” In Access
Segui i seguenti metodi passo-passo per risolvere l’errore di runtime di MS Access 3159 non un segnalibro valido.
Soluzione 1- Riprodurre un errore
Per riprodurre l’errore Access Not A Valid Bookmark Error, gli utenti devono creare la tabella in modo che in VBA possano essere in grado di creare recordset. Dopo aver fatto clic sul pulsante del modulo, verrà generato un errore 3159. Successivamente, devi eseguire il codice seguente in un modulo:
Codice per riprodurre l’errore:
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

In una finestra di messaggio di errore, devi:
- Fare clic sull’opzione Debug
- Quindi, usa una corda precisa.
- Successivamente, aggiornare una stringa e salvarla.
Soluzione 2- Ripristino del vecchio database nel nuovo database
A volte il motivo della corruzione delle relazioni o dei record dei file di Access è anche l’eccessiva archiviazione dei file nel database di Access. A quel punto è obbligatorio per gli utenti creare un nuovo file ed esportare i dati dai database danneggiati. Se non sai come eseguire questa attività, segui questi passaggi:
- Prima di tutto, avviare MS Access e selezionare il database vuoto presente in MS Access e scegliere il pulsante OK.
- Assegnare un nome al nuovo database e selezionare un percorso file e utilizzare l’opzione Crea.
- Toccare il menu file, quindi passare ai dati esterni e scegliere Importa

- Toccare il menu file, passare ai dati esterni e scegliere l’importazione.
- Sfogliare e selezionare il database danneggiato e toccare l’opzione di importazione.
- Se gli utenti non ottengono l’oggetto Finestra che mostra l’importazione, il processo non può essere ripristinato nel database di Access.
- Effettuare una selezione per Seleziona su tabelle presente sopra le finestre Importa oggetti e scegliere Seleziona tutto.
- Ripetere per la scheda sullo schermo e premere il pulsante OK nel caso in cui il processo finisca.
Leggi anche: Correggi l’errore di runtime 3047- Il record è un Access troppo grande
Soluzione 3- Esegui il comando Decompila per correggere Non A Segnalibro valido. (Errore 3159)
Il comando Decompila è un altro modo efficace che può essere provato per risolvere come correggere un segnalibro non valido in Access. Tuttavia, questo comando viene utilizzato principalmente per risolvere errori e problemi relativi ai progetti VBA.
Seguire i passaggi seguenti per eseguire un comando Decompila:
1- Identifica il tuo percorso MS Access. Per questo, vai su Esplora risorse e cerca il programma Microsoft Access.
2- Quindi, premi i tasti Win + R insieme per aprire la casella Esegui, digita CMD e premi Invio per aprire un prompt dei comandi.

3- Ora puoi vedere la finestra di cmd.exe mostrata.

4- Lì, devi inserire il comando seguente (comando Decompila):
C:\Program Files (x86)\Microsoft Office\root\Office16\MSACCESS.EXE /decompile
5- A questo punto, apri il database di Access >> fai clic su Crea >> Modulo.
6- Ora vai all’opzione Debug > Compila.
7- Infine, fai clic sul menu File e quindi sull’opzione Salva.

Questo dovrebbe correggere correttamente l’errore 3159 nel database di Access.
Soluzione 4- Utility integrata compatta e ripara
Prima di utilizzare lo strumento integrato compatto e ripara, gli utenti dovrebbero tenere a mente queste cose.
- Eseguire sempre un backup dei file.
- Compatta e ripara automaticamente i database.
- Annotare la tabella degli errori di ripristino del sistema.
- Ottenere l’Access al database per utilizzare il comando Compatta e ripristina database.
- Ottenere autorizzazioni sufficienti per eseguire funzioni compatte e di riparazione.
Lo strumento di utilità integrato funziona in due modi:
Modo 1- Quando il database viene aperto dall’utente:
- Fare clic sulla scheda File ⇒ Opt for Info ⇒ Selezionare l’opzione Compatta e ripara database

Nota: in questo caso, gli altri utenti stanno utilizzando il file del database, quindi questa funzione non può essere eseguita.
Modo 2- Il database non è stato aperto da nessun utente
- Innanzitutto, avvia MS Access ma non tentare di aprire i file del database in esso contenuti
- Puntare verso info ⇒ Fare clic su Compatta e ripara database
- Nella finestra di dialogo del database da compattare, navigare e fare doppio clic sui database da riparare.
Soluzione 5 – Verifica dei riferimenti mancanti
Verificare la presenza di riferimenti mancanti o danneggiati è un’ottima soluzione alternativa per correggere questo errore. Molti utenti hanno trovato questo metodo utile nei loro casi; puoi anche provare questo:
- Apri un modulo qualsiasi.
- Vai a Strumenti > Riferimenti.

- Ora, deseleziona le librerie mancanti o danneggiate.
- Quindi, sostituiscile con quelle valide.
Soluzione 6 – Aggiorna o reinstalla Access
Software obsoleti potrebbero causare problemi di compatibilità e portare a tali errori.
- Esegui gli aggiornamenti di Office.
- Se necessario, reinstalla Microsoft Access per correggere errori gravi.
Soluzione 7- Prova lo strumento di riparazione e ripristino degli accessi
Per risolvere questo particolare errore di query di Access non è un segnalibro valido, devi provare lo strumento professionale, ad es. Access Riparazione E Recupero attrezzo. Poiché questo strumento è specificamente progettato per gestire i problemi di corruzione del database di MS Access. Inoltre, il software recupera efficacemente i file MDB e ACCDB inaccessibili in modo accurato da database MS Access corrotti o danneggiati.
Le notevoli caratteristiche salienti del software Access Riparazione E Recupero sono:
- Semplifica il recupero di file MDB o ACCDB da qualsiasi tipo di database corrotto
- Recupera accuratamente la struttura completa della tabella e la più importante di tutte le strutture di dati interni come chiavi primarie, numerazione automatica e dimensioni dei campi
- Recupera rapidamente relazioni tra tabelle, dati OLE, dati Memo, ecc.
- Prima di avviare il processo di recupero è possibile visualizzare l’anteprima dei dati recuperabili.
- Inoltre, supporta il ripristino dei file .accdb/.mdb del database protetto da password.
- Supporta il ripristino dall’intero database MS Access versione 95/97/2000/XP/2003/2007/2010/2013/2016/2019.

* Facendo clic sul pulsante Download sopra e installando Stellar Repair for Access (14.8 MB), riconosco di aver letto e accettato il Contratto di licenza per l'utente finale e la Politica sulla riservatezza di questo sito.
Passaggi per utilizzare lo strumento di riparazione degli Access
Leggi anche: Correggi l’errore di runtime 3047 – Record troppo grande
Domande frequenti:
Perché il mio database mostra questo errore anche dopo aver aggiornato Access?
Il tuo database mostra questo errore anche dopo aver aggiornato Access; è probabile che il database sia danneggiato.
Come correggere l’errore “Segnalibro non definito”?
È possibile correggere questo errore e ripristinare il testo originale premendo Ctrl+Z subito dopo aver ricevuto il messaggio.
Esistono database alternativi a MS Access?
Sì, esistono numerosi database alternativi a MS Access, come MySQL, Microsoft SQL Server, Oracle e altri.
Quando dovrei consultare un professionista per assistenza con l’errore 3159?
Anche dopo aver provato le soluzioni menzionate in questo post, se l’errore persiste, è consigliabile rivolgersi a un professionista per risolvere l’errore 3159.
In conclusione:
L’errore 3159: segnalibro non valido in Access può essere un problema sconcertante, ma con le giuste conoscenze e le giuste procedure di risoluzione dei problemi, è completamente gestibile. Seguendo le soluzioni discusse in questo blog, è possibile gestire questo errore senza sforzo. Inoltre, per evitare questo errore nel prossimo futuro, esegui regolarmente il backup del database, convalida i segnalibri e mantieni aggiornato il tuo software Access. Grazie per la lettura!
Questo software garantisce riparazione e recupero di senza soluzione di continuità del database ACCDB e MDB. Esso ripristina tutti gli oggetti tra cui tabelle, report, query, record, moduli e indici insieme a moduli, macro, ecc. Fissare Microsoft Access problemi di ora in 3 semplici passaggi:
- Scarica Stellar Access database riparazione strumento rated ottima su Cnet.
- Fai clic sull'opzione Sfoglia e Cerca per individuare il database di Access corrotto.
- Fai clic su Ripara Pulsante per riparae visualizzare in anteprima gli oggetti del database.






