Questo è uno dei motivi per cui Access non è adatto all'utilizzo in rete, usa un File in Sharing per gestire le connessioni… quindi potenzialmente in caso di MultiUtenza capace di bloccare tutto, in ogni caso provi a cancellarlo e gestisci l'errore, se è bloccato non si cancella, la chiamata a Kill restituisce errore, significa che qualcuno con connessione attiva è presente.
Il Tuo FE che si è sconnesso in modo anomalo non bloccherà più il file SOLO DOPO la chiusura del FE inquanto il Blococ è legato al processo aperto, ed alla riapertura puoi ripristinare le Linked.
Questo ovviamente richiede che sia una procedura ESTERNA al tuo FE a gestire il tentativo di ripristino, quindi serve avere un VBS o VB6 o un BAT esterno a cui delegare la chiusura del FE, il KILL eventuale del file di Bloccaggio, e la riapertura del FE….
Si può verificare tramite ADO chi risulta Connesso:
Sub ShowUserRosterMultipleUsers()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Set cn = CurrentProject.Connection
' The user roster is exposed as a provider-specific schema rowset
' in the Jet 4.0 OLE DB provider. You have to use a GUID to
' reference the schema, as provider-specific schemas are not
' listed in ADO's type library for schema rowsets
Set rs = cn.OpenSchema(adSchemaProviderSpecific, _
, "{947bb102-5d43-11d1-bdbf-00c04fb92675}")
'Output the list of all users in the current database.
Debug.Print rs.Fields(0).Name, "", rs.Fields(1).Name, _
"", rs.Fields(2).Name, rs.Fields(3).Name
While Not rs.EOF
Debug.Print rs.Fields(0), rs.Fields(1), _
rs.Fields(2), rs.Fields(3)
rs.MoveNext
WEnd
End Sub
Saluti