L'unica chiusura che sono riuscito a fare per Picam (ODBC) è impostando Picam.Close() e quindi rsPicam.ActiveConnection = Nothing al termine di ogni Sub di importazione dei Dati.
Però, per quello che ho potuto vedere, l'accesso al DB che contiene i dati di Picam non provoca anomalie; non si tratta di un File .mdb. Sono solo i File di Access 2000 che, quando li apri generano un File.ldb: questo file indica che stai operando nel DB. In molti casi basta una semplice istruzione Recordset.close e Recordset = Nothing per chiudere il DB, mentre in altri casi non serve. Dire in quali casi non è facile perché di fatto eseguo sempre le stesse operazioni. La sola cosa che ho realmente notato è che se apro una Query di Eliminazione, poi è davvero impossibile chiudere il DB. L'unico modo che ho trovato per farlo è aprire subito dopo una nuova Query di Selezione che semplicemente acceda alla tabella sulla quale prima ho fatto l'eliminazione e poi, con la sola istruzione Recordset.close e poi Recordset = Nothing, il DB si chiude (ma non sempre,...).
codice:
        sSQLAccess = "DELETE Tipologie.* FROM Tipologie"
        rsTipologie.Open(sSQLAccess, CnDBserver, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic)

' Qui le istruzioni sSQLAccess.close e sSQLAccess = Nothing non servono a chiudere il DB
' Devo aggiungere una nuova Query di selezione per poterlo chiudere, sempre con le stesse istruzioni, ovviamente

        sSQLAccess = "SELECT Cli_Fo, CodTp, Tipologia FROM Tipologie"
        rsTipologie.Open(sSQLAccess, CnDBserver, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic)
            rsTipologie.Close()
            rsTipologie = Nothing

' Così si chiude
Bello vero?