Yo para evitarme problemas lo primero que resuelvo con Access es un espacio de trabajo que me asegure que funcionará la apertura y manipulación de bases de datos. Para ello paso como parámetros DBSYS que me indica el camino al fichero SYSTEM.MDW que es el contenedor de las reglas de seguridad de acceso de MSAccess. Esto sólo si existen reglas de seguridad, si no deja que el espacio se genere con el que le devuelve la función de dominio SysTemDB().
En matrices DbUser() y DbPswr() dispongo los usuarios y claves que permiten el acceso a datos. Fíjate en el bucle que ejecuto hasta dar con uno válido o no, abandonando la aplicación en este último caso.
Código:
'Conexión con datos
'Manipulación de Access
Public TSWks As Workspace Código:
Public Sub OpenWorkSpace()
Dim i As Integer
Dim stat As Boolean
Dim msg As String
Dim waste As Integer
On Local Error Resume Next
'Apuntar a la base de datos del sistema Jet
'e iniciar el puntero de reintentos
If Trim(DbSys) <> "" Then
DBEngine.SystemDB = DbSys
Else
DBEngine.SystemDB = SystemDB()
End If
'se inicia el motor con el archivo de seguridad
'por cada uno de los usuarios registrados en
'el fichero de inicio de la aplicación.
i = 1: stat = False
Do
If i > UserItems Then Exit Do
Set TSWks = DBEngine.CreateWorkspace("TunelSoft", dbUsers(i), dbpswr(i), dbUseJet)
If Err Then
i = i + 1
Else
Workspaces.Append TSWks
stat = True
Exit Do
End If
Loop
If stat = False Then
msg = vbCrLf + vbCrLf
msg = msg + "Ningún usuario registrado permite acceder a datos seguros. La aplicación se detendrá." + vbCrLf + vbCrLf
msg = msg + "Contacte con el administrador del sistema para revisar los parámetros de inicio de la aplicación TSServer."
waste = GetMsg(App.Title, "main", "openworkspace", "001", , , msg)
DescargaApp
End If
End Sub Código:
'Ejemplo de Apertura de DB Access
dim dbGSellado as DAO.Database
dim rsGdatos as DQO.Reordset
Set dbGsellado = TsWks.OpenDatabase(CStr(PathTunel + "\sellado.mdb"))
'y alguna de sus tablas sus tablas
Set rsGdatos(2) = dbGsellado.OpenRecordset("terrenos")
rsGdatos.LockEdit = adLockOptimistic
Toma este código como ejemplo, no trates de copiar-pegar porque no te funcionará en tu ambiente (Te faltan algunas funciones y métodos) y espero que te resuelva el problema de accesos, aunque me inclino a pensar que es problema de la forma en la que se ha compartido la carpeta que aloja el fichero.