¿Cómo configurar Access para que sea multiusuarios?

Estoy trabajando una base de datos que debería ser multiusuarios, pero a pesar de haber configurado en modo predeterminado de apertura compartido y haber dividido la base de datos (un archivo con las tablas y otro con los demás objetos) me muestra errores.

Cuando sólo un usuario (user1) tiene abierto el archivo Access dentro de una ubicación compartida éste no presenta ningún problema y se pueden hacer los registros, modificaciones, eliminaciones y/o generación de reportes con total normalidad, pero cuando otro usuario (user2) abre el archivo estando este abierto por user1 impide hacer cualquier acción. En algunos casos muestra el mensaje "Se ha producido el error '2501' en tiempo de ejecución: La acción se Save se canceló." y en otros casos "El usuario admin ha situado la base de datos en un estado que impide que sea abierta o bloqueada access". Vi por ahí que recomendaban también no hacer uso de Macros sino sólo funciones y también he hecho el cambio pero sin éxito.

El objetivo actual con el archivo es que user1 y user2 registren al mismo tiempo sin problemas, además que permita el ingreso de más usuarios que lo requieran.

Agredecería mucho su ayuda.

1 respuesta

Respuesta

Supongo que el problema que tienes es que tus formularios de trabajo para crear, editar o borrar registros son formularios vinculados directamente a las tablas y sus controles vinculados a los campos de las tablas.

Cuando un usuario, mediante estos formularios, se sitúa en un registro, éste se pone en modo edición y queda bloqueado. Pero es que Access no solamente bloque el registro, sino que bloquea la página o bloque de datos al que pertenece el registro, lo que provoca conflictos como los que describes cuando otro usuario intenta modificar otro registro que pertenece al mismo bloque de datos. Además, como los usuarios no son conscientes de ello, a menudo dejan un formulario cargado con un registro activo mientras hacen otras tareas.

Para evitarlo, lo ideal es trabajar con formularios independientes. Es decir, no vinculados a ninguna tabla. Para ello necesitas trabajar con VBA (Visual Basic para Aplicaciones) utilizado los módulos de los formularios.

La idea es tener una función que cargue los datos en el formulario y otra/s que los guarde en las tablas. Para ello debes usar los eventos de Access o botones de comando.

De esta forma los bloqueos de los registros son imperceptibles, ya que únicamente se producen en el instante en que el código crea o modifica los datos de las tablas.

Yo tuve una aplicación creada de esta forma en la que trabajaban simultáneamente más de 20 personas sin ningún problema.

Lo que no se es si estás familiarizada con el VBA

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas