MsAccess alcune volte restituisce problemi di Corruzione dovuti ad errori di Compilazione e/o di generazione del PCODE.
Esiste una Funzione NON DOCUMENTATA, quindi rischiosa e da fare solo ed esclusivamente su una copia di BackUp, che effettua una completa rimozione del codice Precompilato dal progetto.

Questa funzione è il DECOMPILE

Una più completa documentazione e spiegazione è riportata in questo Link:
Usenet Posting #4 - Trigeminal Software, Inc. (English)

Di norma, in seguito all'azione del DECOMPILE, si deve riprocedere con l'azione di COMPACT & REPAIR, oltre che al COMPILE del Codice...

Quello che inserisco sotto pertanto è solo un'esempio di come usare queste procedure.
Dato che l'azione di DECOMPILE non chiude il progetto, ho inserito una parte di Codice che provvede alla chiusura, nel caso sia necessaria...

Function ShellCompact(strSourceFile As String, Optional CloseOnEnd as Boolean=True) As Boolean
    On Error Resume Next
    Dim lngPID              As Long
    
    lngPID = Shell(SysCmd(acSysCmdAccessDir) & "MsAccess.Exe " & _
                 """" & strSourceFile & """" & "/compact")

    If CloseOnEnd then Call ClosePID(lngPID)

    ShellCompact = (Err = 0)
	
End Function

Function ShellDecompile(strSourceFile As String, Optional CloseOnEnd as Boolean=True)  As Boolean
    On Error Resume Next
    
    Dim lngPID              As Long

    lngPID = Shell(SysCmd(acSysCmdAccessDir) & "MsAccess.Exe " & _
                 """" & strSourceFile & """" & "/decompile") '& """" & strSysDB & """" & "/user " & strUser & " /pwd " & strPWD)

    If CloseOnEnd then Call ClosePID(lngPID)
    
    ShellDecompile = (Err = 0)

End Function

Function ClosePID(lngPID As Long) As Boolean
    On Error Resume Next
    
    Dim objWMIref           As Object
    Dim colProcessList      As Object
    Dim objProcess          As Object

    Set objWMIref = GetObject("winmgmts:\\.\root\cimv2")
    Set colProcessList = objWMIref.ExecQuery("Select * from Win32_Process Where ProcessID = " & lngPID)
    For Each objProcess In colProcessList
        objProcess.Terminate
        ClosePID = True
    Next
    
    Set objProcess = Nothing
    Set colProcessList = Nothing
    Set objWMIref = Nothing

End Function