Visual Basic.NET - Problema conexión a BD Access

 
Vista:

Problema conexión a BD Access

Publicado por Pilar (5 intervenciones) el 23/03/2007 17:45:49
Buenas!

Tengo un problema de los de romper el coco. He creado una aplicación en Visual Basic .NET para que trabaje contra una base de datos ACCESS 2.0. A esta base de datos debe poder acceder simultaneamente un programa, Visual Factu (de Golden), pero hete aquí que cuando abro primero el Factu y luego mi programa, me salta una excepción diciendo que el archivo está ya en uso.

Los ficheros udl que uso para la conexión tienen en propiedades avanzadas el modo Share Deny None (probé con ReadWrite y me dejaba entrar bien, pero debe de bloquear a la hora de insertar un registro y me decía que no podía, al estar el Factu abierto).

Ando un poco despistada con esto, si pudierais echarme un cable os lo agracería mucho.
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

RE:Problema conexión a BD Access

Publicado por Carlos E. (3 intervenciones) el 12/04/2007 20:11:57
Hola ya veo tu problema, la unica forma de que se solvente es que el sistema factu al conectarse a la dama de acces lo haga de manera RW (Archivos udl en modo RW) , por lo visto al cargar dicho programa los coloca de manera exclusiva y por tanto no podras hacer un insert o update de la tabla, es decir ninguna alteraci9on de la misma, te recomiendo que crees una funcion que valide si esta la tabla en modo exclusivo y hagas una captura de error con on error goto error y carga el numero de error y la descripcion para que no te salga , cuando te salga el error en la funcion de inser lo capturas y envias un mensaje diciendo que la data esta en modo exclusivo almenos eso no detendra por completo tu aplicacion

ejemplo:

'BOTON QUE LLAMA A LA FUNCION

Private Sub CmdAce_Click()
IF INS_DAT () = FALSE THEN

msbTexto=" error al modificar datos, tabla en modo exclusivo "
msbTitu="Mensaje de sistema"
msbOpc=0+48+0
MsgBox msbTexto, msbOpc, msbTitu

ELSE

msbTexto="Operacion finalizada con exito"
msbTitu="Mensaje de sistema"
msbOpc=0+64+0
MsgBox msbTexto, msbOpc, msbTitu

ENDIF

end sub
-----------------------------------------------------------
public function INS_DAT () as boolean

on error goto SAL_FUN
INS_DAT = TRUE

'TODA LA INSTRUCCION PARA EL INSERT O UPDATE O DELETE '

exit function
SAL_FUN:
INS_DAT = FALSE

end function
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