Fa il tuo Access Database di che mostra frequentemente il messaggio di errore “Il database è in uno stato imprevisto” mentre si tenta di aprire il database in Access 2000 o altre versioni successive di Access?
Quando questo errore “stato imprevisto” viene visualizzato sullo schermo, non è consentito eseguire alcuna operazione sul database. Per fare ciò è necessario riparare il database. Se non sai come eseguire questa attività di riparazione del database di accesso, consulta questo post completo.
Poiché contiene correzioni complete per risolvere questo errore “Il database si trova in uno stato imprevisto” (35012) se si è verificato in una delle versioni del database di accesso 2007/2010/2013/2016. Ma fallo appena puoi; in caso contrario, ciò si concluderà con la perdita dei dati cruciali del database di Access.
Che cos’è questo errore “Il database si trova in uno stato imprevisto”?
Bene, questo errore si verifica al momento dell’apertura di un database in Microsoft Access 2000 o una versione successiva; potresti ricevere il seguente messaggio di errore:
Il database si trova in uno stato imprevisto.
Dettaglio errore:
Codice: errore 35012
Nome: questo database è in uno stato imprevisto e Microsoft Office Access non può aprirlo
Descrizione errore: Questo database si trova in uno stato imprevisto e Microsoft Office Access non può aprirlo. @ Questo database è stato convertito da una versione precedente di Microsoft Office Access utilizzando il metodo DAO CompactDatabase anziché il comando Converti database.
Quali sono le possibili cause di Access “Stato imprevisto” errore?
- Questo specifico messaggio di errore viene visualizzato quando l’utente tenta di convertire il database di Access creato in Microsoft Access 97 o una versione precedente, utilizzando il metodo DOA CompactDatabase. Ciò lascerà il tuo database di accesso in stato parzialmente convertito.
- In qualche modo, il database di Access è gravemente danneggiato.
Come correggere il database di Access stato imprevisto Errore di 35012?
Soluzione 1: recuperare i dati del database di Access e le query del database quando non si dispone del database originale non protetto.
Questo metodo è applicabile quando non si dispone di una copia del database originale non protetto nel suo formato originale e si sono tentate tecniche di risoluzione dei problemi di corruzione standard. Prova a recuperare i dati del database e le query del database. Per eseguire ciò, basta seguire questi passaggi:
- Prima di tutto, crea una copia di backup del tuo database di accesso originale.
- Ora avvia il tuo accesso alla versione 2000 o successiva.
- Per Access 2000, Access 2002 o Access 2003
o Toccare il database di accesso vuoto, digitare il nuovo nome del database nella casella Nome file e quindi premere Crea.
leggi anche
Come risolvere MS Access unirsi Espressione Non supportato in Access 2010/2013/2016
Access 2007
- Premi il pulsante Office, fai clic su Nuovo, fai clic su Database vuoto, quindi fai clic su Crea per creare un nuovo database.
- Per Access 2000, Access 2002 o Access 2003
o Nel menu Inserisci, fare clic sull’opzione Modulo. Ciò avvierà Microsoft Visual Basic Editor e creerà un nuovo modulo.
Access 2007
- Nella scheda Crea, fare clic sulla freccia giù sotto Macro e quindi fare clic su Modulo. Viene avviato Microsoft Visual Basic Editor e viene creato un nuovo modulo.
- Dal menu Strumenti, selezionare Riferimenti
- Dall’elenco Riferimenti disponibili, individuare Libreria oggetti Microsoft DAO 3.6 e quindi selezionare la casella di controllo Libreria oggetti Microsoft DAO 3.6. Nota: DAO 3.6 è ora disponibile anche in Windows XP Home Edition.
- Per chiudere la finestra di dialogo Riferimenti, fare clic su OK.
- Nel nuovo modulo che hai creato, incolla il seguente codice.
Sub RecoverCorruptDB()
Dim dbCorrupt As DAO.Database
Dim dbCurrent As DAO.Database
Dim td As DAO.TableDef
Dim tdNew As DAO.TableDef
Dim fld As DAO.Field
Dim fldNew As DAO.Field
Dim ind As DAO.Index
Dim indNew As DAO.Index
Dim qd As DAO.QueryDef
Dim qdNew As DAO.QueryDef
Dim strDBPath As String
Dim strQry As String
‘ Replace the following path with the path of the
‘ corrupted database.
strDBPath = “C:\My Documents\yourDatabase.mdb”
On Error Resume Next
Set dbCurrent = CurrentDb
Set dbCorrupt = OpenDatabase(strDBPath)
For Each td In dbCorrupt.TableDefs
If Left(td.Name, 4) <> “MSys” Then
strQry = “SELECT * INTO [” & td.Name & “] FROM [” & td.Name & “] IN ‘” & dbCorrupt.Name & “‘”
dbCurrent.Execute strQry, dbFailOnError
dbCurrent.TableDefs.Refresh
Set tdNew = dbCurrent.TableDefs(td.Name)
‘ Re-create the indexes on the table.
For Each ind In td.Indexes
Set indNew = tdNew.CreateIndex(ind.Name)
For Each fld In ind.Fields
Set fldNew = indNew.CreateField(fld.Name)
indNew.Fields.Append fldNew
Next
indNew.Primary = ind.Primary
indNew.Unique = ind.Unique
indNew.IgnoreNulls = ind.IgnoreNulls
tdNew.Indexes.Append indNew
tdNew.Indexes.Refresh
Next
End If
Next
‘ Re-create the queries.
For Each qd In dbCorrupt.QueryDefs
If Left(qd.Name, 4) <> “~sq_” Then
Set qdNew = dbCurrent.CreateQueryDef(qd.Name, qd.SQL)
End If
Next
dbCorrupt.Close
Application.RefreshDatabaseWindow
MsgBox “Procedure Complete.”
End Sub
Nota:
Il codice sopra importerà tutte le tabelle e tutte le query dal database corrotto nel database corrente.
Sostituisci C: \ My Documents \ yourDatabase.mdb con il percorso e il nome file corretti del tuo database.
- Per eseguire il codice, fare clic su Esegui modulo sub / utente su Esegui
Soluzione 2: utilizzare il comando Converti database quando si dispone del database originale
Se si dispone ancora di una copia del database originale nel formato originale, utilizzare il comando convert database. Per eseguire questo, basta seguire il passaggio completo:
Access 2000, Access 2002 o Access 2003
- Preparare una copia di backup del database originale
- Avviare ora Access 2000 o una versione successiva.
- Dal menu degli strumenti, toccare le utilità del database, fare clic su Converti database e quindi toccare il Formato file di Access 2000. Nota: se si è solo un utente di accesso 2000, la versione del database di accesso corrente viene visualizzata nel database di conversione
- Nella casella Database da convertire da dialoghi, toccare il nome del file di database che si desidera convertire, quindi selezionare l’opzione Converti.
- Nella casella Converti Intodialog Database, basta assegnare un nuovo nome al file del database, quindi premere l’opzione Salva.
leggi anche
Access 2007
- Conserva una copia del database originale.
- Dopo quindi prova ad aprire il tuo database.
- Dopo aver aperto il database .mdb in formato di file Access 97 o Access 95, Access visualizza la finestra di dialogo Miglioramento del database. Viene richiesto di aggiornare il database.
- Toccare l’opzione Sì per aggiornare il database in qualsiasi formato di file selezionato. Dopo la conversione in tale modo, apportare modifiche al progetto in Access 2007.
- Tuttavia, non è più possibile aprire il database utilizzando la versione di accesso precedente alla versione a cui è stato convertito il database.
Soluzione 3: soluzione automatica per risolvere “il database in uno stato imprevisto” Errore di Access!
Access riparazione e recupero software di è particolarmente progettato per riparare i file mdb o accdb corrotti o danneggiati. Viene fornito con un potente algoritmo che esegue la scansione anche dei file di database di accesso gravemente danneggiati. Ha anche un’interfaccia grafica altamente interattiva che aiuta l’utente a gestire e riparare facilmente il database di Access senza apportare modifiche alla struttura originale del file. Ripristina facilmente danni o tabelle, query, indici e altri dati corrotti.
Questo strumento può facilmente risolvere tutti gli errori e i problemi di database minori e importanti di MS Access 2013, 2010, 2007, 2003, 2002, 2000 su quasi tutte le versioni del sistema operativo Windows come Windows 8/7 / Vista / XP / 2003. È disponibile la versione di prova gratuita che è possibile installare per verificare le funzionalità e l’affidabilità del software.
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: