Visual Basic para Aplicaciones - Base de Datos Already Open by other user

Life is soft - evento anual de software empresarial
   
Vista:

Base de Datos Already Open by other user

Publicado por Zeus Alberto Paez Renteria (1 intervención) el 08/11/2014 08:48:43
Buen Dia amigos programadores

Tengo un problema con una base de datos la cual me indica el siguiente error: "Access Database already exclusively opened by another user"

Tengo un query que la actualiza pero no la puedo abrir porque me indica que algun usuario la tiene abierta de forma exclusiva. Tienen alguna idea como se puede solucionar este problema pero para que no se repita.

Con respecto al codigo recibe todos los paramentros correctamente pero no puede abrir la base, se que si le indico al administrador del servidor que tumbe a los usuarios que estan utilizando o que tienen el archivo abierto, entonces se puede volver a trabajar con la base, pero el problema vuelve a aparecer al tiempo, tengo un total de 20 personas accesando la base mediante diferentes consultas de SQL como la que maestro a continuacion que es la que me marca el error.

Public Sub UploadingFileName(FileName As String, Plotter As String, USER As String, Reset As Boolean, Reused As Boolean)
Dim dbsObj
Dim qryUploadInfo As QueryDef
UploadingFileName:
On Error Resume Next
' La siguiente linea es donde esta el error, pues no se puede abrir la base de datos
Set dbsObj = DBEngine.Workspaces(0).OpenDatabase("\\xserver_x1\groups\machines\LOG.mdb")

Set qryUploadInfo = dbsObj.CreateQueryDef("", "PARAMETERS parFileName string, parPlotter string, parDateReg string, parTimeReg string, parUser string, parReset bit, parReused bit; " & _
"INSERT INTO UsedFiles VALUES ([parFileName],[parPlotter],[parDateReg], [parTimeReg], [parUser],[parReset],[parReused])")
qryUploadInfo.Parameters!parFileName = FileName
qryUploadInfo.Parameters!parPlotter = Plotter
qryUploadInfo.Parameters!parDateReg = Format(Date, "dd/mmm/yyyy")
qryUploadInfo.Parameters!parTimeReg = Time
qryUploadInfo.Parameters!parUser = USER
qryUploadInfo.Parameters!parReset = Reset
qryUploadInfo.Parameters!parReused = Reused
qryUploadInfo.Execute
qryUploadInfo.Close
dbsObj.Close
End Sub


Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Base de Datos Already Open by other user

Publicado por Roberto F. (8 intervenciones) el 09/11/2014 19:26:43
Eso parece mas un problema propio del access que del vba.

Cuando se abre una bd se genera el fichero .ldb y este problema se da cuando está compartida y usada por varios.

Una solucion: Podrías tener otra bd que se use exclusivamente para este vba.

Esta nueva bd simplemente tendría las tablas vinculadas a las tablas del LOG.mdb, por lo que aunque abras la nueva bd, estarías actualizando y accediendo a los mismos datos que los demás.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar