Hola Salko, buen dÃa. El error que te aparece se debe a que la base de datos ya se encuentra abierta en modo exclusivo, ahora, podemos determinar cuando tu aplicación puede abrir una base de datos en modo exclusivo; esto te puede ayudar para:
1.- Reparar base de datos.
2.- Compactar base de datos.
3.- Grabar tu base de datos de Access 97 como un archivo MDE.
4.- Convertir una base de datos en una replica de Diseño Maestro.
5.- Convertir o habilitar una base de datos desde una versión previa.
El código para llevar a cabo lo siguiente es:
Function CanOpenDbExclusively(strDbPath As String) As Boolean
On Error Resume Next
Dim dbe As PrivDBEngine
Dim wrk As Workspace
Dim dbs As Database
Const conFileInUse = 3045
Const conDBOpenedExclusively = 3356
Set dbe = New PrivDBEngine
Set wrk = dbe.Workspaces(0)
Set dbs = wrk.OpenDatabase(strDbPath, True)
If dbs Is Nothing Then 'SI NO SE ESPERABA UN ERROR, MUESTRA UN MENSAJE.
'SI LA BASE DE DATOS NO PUEDE SER ABIERTA EN MODO EXCLUSIVO, REGRESA False.
If (Err = conFileInUse Or Err = conDBOpenedExclusively) Then
CanOpenDbExclusively = False
Else
MsgBox "Error: " & Err & ": " & vbCrLf & Err.Description
End If
Else ' SI LA BASE DE DATOS PUEDE SER ABIERTA EN MODO EXCLUSIVO, REGRESA True.
CanOpenDbExclusively = True
dbs.Close
End If
End Function
Esta función regresa True si puedes abrir una base de datos en modo exclusivo. Te recomiendo que utilices bases de datos de Access 2000 o versiones posteriores, mucho mejor si usas bases de datos de SQL; puedes usar MySQL. Nos vemos.
PD: No olvides cerrar el tema si la respuesta fue satisfactoria o indicarnos si no lo fue.