Compartir Base de datos en red por varios usuarios (Parte 1)

Nos ponemos en situación, hemos creado nuestra base de datos para la gestión de un almacén, por ejemplo, y han de usarla varios usuarios a la vez en distintos equipos ¿Como abordaríamos el proceso en Microsoft Access? pues es muy sencillo:

Front-End y Back-End

Vaya, ya nos estás metiendo palabros raros. Tranquilos que lo explico rápidamente, sabéis que lo habitual al trabajar con Access es que nuestro proyecto conste de un solo fichero con extensión accdb, dentro de él, lo que tenéis son las tablas, las consultas, las relaciones, los formularios, los informes, etc, en definitiva, tenéis toda la aplicación en un solo fichero. Cuando decidimos que nuestra base de datos la utilicen varios usuarios lo mas práctico es dividir ese único fichero en dos ficheros de forma que en uno dejamos las tablas y las relaciones entre ellas (Back-End), y en el otro el resto del programa (Front-End), las consultas, formularios, informes, etc. El Front-End usará las tablas, que estarán vinculadas, del Back-End.

Vale y ahora que hacemos con los dos ficheros, pues muy sencillo, el Back-End lo ponemos en un ordenador al que tenga acceso el resto de equipos y le decimos al Front-End donde está ese fichero y a continuación distribuimos una copia del Front-End a cada uno de los equipos que lo van a usar. Así de sencillo.

Errores que hay que evitar

En ocasiones la gente que no conoce este sistema suele tirar por la calle del medio y por lógica dicen «Si mi programa deben usarlo varios usuarios voy a copiar el fichero accdb en un lugar al que tengan acceso todos los usuarios y lo ejecutamos todos desde allí», Pues esto es un error que, aunque funcione, genera varios problemas:

  • Todos los PCs abren el MISMO fichero a la vez. Está demostrado que hacerlo así llega a generar errores en los formularios o incluso en los datos que llegan a corromperse, pues Access se puede liar si dos usuarios tienen abierto EL MISMO formulario con registros distintos y so saber cual de ellos debe guardar.
  • Al abrir un PC el fichero viaja por la red TODO, tablas, formularios, informes, consultas, etc. Eso es mas pesado que si solo tuviera que viajar por la red los datos como ocurre con el modelo que os he puesto.

Curso-Access-BasicoVentajas de dividir

Por un lado, como apuntaba en el párrafo anterior, al dividir la base de datos, por la red solo viajan las tablas con los datos que suelen ser muchos menos megabytes que el resto de la aplicación y por tanto todo irá mas fluido.

La otra ventaja fundamental está basada en la actualización de vuestro programa. Imaginad que lo hubiéramos hecho a los bestia y hubiéramos copiado un solo fichero en la red y todos abriéndolo al mismo tiempo y nos piden una modificación del mismo para ampliarlo. En ese momento tendríamos que pedirles a los usuarios que dejaran de usarlo, abrirlo nosotros, modificarlo por el tiempo que nos lleve, bien sean horas o días y una vez terminado volver a copiarlo en la red para que sigan usándolo. O sea, que hemos dejado sin servicio a los usuarios mientras mejorábamos el programa.

Al tenerlo dividido, como creador de la base de datos, tendrás una copia, al igual que el resto, en tu ordenador y puedes trabajar con ella sin interferir con el resto de usuarios, una vez hallas hecho las modificaciones, solo tienes que pasarle a los usuarios la copia actualizada y durante el tiempo que has estado mejorándola los usuarios han seguido trabajando. A eso le llamamos productividad y en la empresa es fundamental.

Como hacemos la división de la base de datos?

Pues eso, queridos amigos, lo dejo para la parte dos del tutorial donde os pondré con imágenes las instrucciones precisas para hacerlo y veréis como es muy sencillo.

6 comentarios

  1. Necesito ayda con una DB tengo 3 archivos de un trabajo que necestio compartilo, UNA Carpeta compartida no funciona ya que no actualiza el reporte y necesito crear un CLIENTE-SERVIDOR y este metodo funciona

    Hago todo el proceso que describes junto con la nueva ubicacion de red que seria \\usuario\database\checks
    Pero al momento de que comparto el front end en una memoria
    no me abre el USER INTERFACE
    da un problema de ubicacion

    me podrias ayudar con esto
    te puedo enviar unas imagenes para que tengas idea que como esta el problema

    Gracias

    1. Si al Front-end le proporcionas una ruta donde están los datos, él siempre los va a buscar en el mismo sitio. Lógicamente al cambiar tus ficheros de ubicación, la antigua, ya no la encuentra. Ante eso puedes hacer dos cosas. O volver a vincular las tablas desde la memoria para decirle donde están, o te buscas algún código que te permita revincularlas automáticamente. En este blog creo que no tengo ningún ejemplo de ello pero si te paseas por el blog del búho de Access encontrarás varios de ellos.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.