RE:Compartir BD de Access
Si se pueden compartir... pero eso de configurar no lo sé mucho, desconozco si visual o access tengan alguna herramienta para evitar que dos usuarios accedan a un mismo registro, creo que si hay algo, porque recuerdo que en ocasiones me salía un error de que el registro estaba siendo usado por otra aplicación...
Yo tuve esa duda y en otro foro me comentaron lo siguiente...:
"Un recordset es una colección de datos, pueden ser modificados o no.
Si utilizas esto y quieres bloquear la información tendrías que iniciar una transacción a nivel de tu conexión, pero si tu usuario no guarda, actualiza o cierre la información de trabajo, los demás usuarios no van a poder trabajar.
Sugiero que evalues bien en que forma vas a trabajar con estos datos.
La propiedad del recordset sería state. ....."
Otra respuesta...:
"... En cualquier conexión a base de datos, puedes generar una transacción, como comentas, tienes que bloquear los datos de la cuenta que mencionas, cuando tienes una transacción al realizar un simple select de información, con esto bloqueas los datos de toda la tabla que mencionas y hasta que terminas puedes continuar.... "
Lo que tuve que hacer... que no se si es lo correcto, pero hasta ahora me ha funcionado, es crear otra base de datos donde controlo el acceso a las bases de datos, tuve que bloquear todo el conjunto de registros.. (mi estructura de datos si lo ameritaba..).
Por ejemplo, tengo un módulo donde agrego los pagos de una cuenta, entre los campos se incluyen un folio de la cuenta, un folio del Nº de pago a esa cuenta, entre otros...
Si un usuario decide agregar pagos a la cuenta 0001, yo bloqueo todos los registros de esa cuenta, y los dejo libres solamente cuando el usuario haya terminado y se haya salido del módulo donde agrega los pagos.
¿Cómo lo hago...?
En una tabla de bloqueos, tengo 4 campos... (cuenta, modulo, estado, usuario), a cada cuenta dada de alta agrego registros de acuerdo a mis módulos, el campo estado y usuario los dejo en blanco.
El usuario elige la cuenta 0001, entonces abro mi tabla de bloqueos y verifico qué dice el campo "estado" de esa cuenta en del módulo en el que estoy..
Si el campo está en blanco, entonces lo edito y le pongo algo que me diga que está siendo usado... esto lo hago en el evento LOAD del módulo... cuando el usuario termina, vuelvo al registro de la cuenta que "marque" y le quito la marca.. en el evento UNLOAD. Entonces mientras el usuario no se salga... el registro de mi tabla de bloqueos permanecerá "marcado" hasta que el usuario se salga, ya depende de mí qué es lo dejo hacer al resto de los usuarios mientras el registro esté "marcado"....
ESPERO TE SIRVA TODO ESTO QUE PUSE... AUNQUE SEGURAMENTE DEBE DE EXISTIR OTRA SOLUCION MENOS ENGORROSA QUE ESTA... SI ACASO ALGUIEN LA SABE MUCHO AGRADECEREMOS NOS LAS DIGAN....
SALUDOS....