Microsoft Access y el desarrollo en equipo

Queridos lectores que visitáis esta web, os voy a soltar una afirmación para vuestro regocijo y para que se le revuelvan las tripas a aquellos que tanto odian esta gran herramienta de programación:

¡SE PUEDE TRABAJAR EN EQUIPO SOBRE UNA APLICACIÓN ACCESS Y USANDO CONTROL DE VERSIONES!

Control de versiones en Microsoft Access

Y tras esta revelación inaudita ya me puedo echar a dormir y daros más explicaciones en el próximo art………que nooooooo, no os voy dejar con la intriga. Os voy a explicar resumidamente en este artículo como somos capaces de trabajar en equipo varios desarrolladores sobre la misma aplicación Access.

En septiembre, Juanjo Luna, con apoyo del que escribe estas líneas, nos daba una charla en el Grupo de Usuarios Access España donde mostraba como con una aplicación de terceros que se integra en Access, un repositorio en la nube y la herramienta de control de versiones más popular del mundo como es Git podemos programar de forma colaborativa.

En este caso requiere hacer una pequeña inversión si queremos utilizar la herramienta de terceros dentro de Access pero como veremos a lo largo de esta serie de artículos no es estrictamente necesario pues el propio VBA de Access permite montarse estas herramientas por uno mismo.

Veamos antes de nada en que consiste el método para un trabajo colaborativo en Access.

El escenario de trabajo

¿Cómo estás de imaginación? Os ayudo un poco, digamos que tres programadores Access quieren diseñar una aplicación en común. Uno es un artista en el aspecto gráfico y se encargará del diseño de los formularios. El segundo de ellos es un excelente administrador de bases de datos y, como tal, se decide que se encargará de modelar las tablas y realizar las consultas pertinentes que el primer desarrollador usará en sus formularios. Nuestro tercer programador es un genio diseñando funciones. Él se encargará de escribir en VBA tantas funciones como necesite el de los formularios para dotar de inteligencia a los mismos.

Ya tenemos un buen escenario para desarrollar en equipo pero vamos a añadirle un plus de dificultad. Los tres programadores están a miles de kilómetros unos de otros.

Con este escenario ya podemos pensar en como resolverlo de la mejor forma posible. ¿Seremos capaces de trabajar sobre la misma aplicación Access? veamos como hacerlo.

El método

El principal escollo que tenemos que resolver es el de poder enviarnos entre los tres programadores los objetos que vamos creando dentro de nuestra aplicación Access para que los vayamos integrando cada uno de nosotros en la versión que estamos utilizando en nuestro ordenador pero, hay un gran problema. Los ficheros Access lo traen todo integrado dentro del mismo fichero

Os habréis dado cuenta que dentro de un fichero de Access están las tablas, las consultas, los formularios, los informes, los módulos de código, etc. Todo en un solo paquete, entonces ¿como lo hacemos? ¿le envío mi fichero al programador de los formularios cuando termine de diseñarle las tablas para que él pueda continuar? ¿Y si el de los formularios necesita una función para poder continuar le envía la aplicación completa al tercer programador y espera a que este se la devuelva con las funciones que necesita? ¿Y si mientras el de los formularios trabaja en ellos yo necesito crear todo el conglomerado de tablas de la parte de almacén y no puedo esperar a que este termine?

Comprenderás querido lector que esa metodología no nos lleva a ningún lado así que el problema no es sencillo pero tampoco excesivamente complicado de resolver.

Aquí lo insalvable, según los agoreros, es poder tener por separado en una carpeta todos estos objetos de Access (tablas, formularios, informes, etc.) y que podamos pasárnoslos por separado mientras seguimos trabajando con la aplicación.

Vamos a plantearlo de la manera más correcta. Los tres programadores tenemos en nuestros PCs un fichero de Access distinto. El programador de las tablas crea 4 o 5 tablas necesarias para empezar. Las exporta a un fichero txt que contiene toda la información necesaria para recrear la misma tabla en otro fichero de Access y, mediante Git, se envían a la nube a un repositorio común al que accedemos los tres programadores. Ahora, el de los formularios y el de las funciones, con muy pocos clicks importan dichos ficheros txt a sus ficheros accdb creándose en este tal cual los diseñó el programador original, bien sean tablas, formularios, informes o cualquier otro objeto de Access. 

Ahora los tres programadores tenemos los mismo. Vamos a empezar a trabajar de verdad. El que diseña los formularios ya puede empezar a crearlos porque tiene las tablas a las que debe conectarlos. Mientras tanto, el primer programador empieza a diseñar las consultas que más tarde se usarán en los informes. Y a la vez, el tercer programador, el que es un crack con las funciones, empieza a escribir un módulo en VBA que será capaz de calcular la edad de los clientes en función del año de nacimiento, por poner un ejemplo.

Cuando este último programador tenga su función exportará el fichero que la contiene, NO TODA LA APLICACIÓN, al repositorio común. Tanto el que diseña los formularios como el que crea las tablas y las consultas con pocos clicks de ratón incorporarán este módulo con la función a sus ficheros Access accdb mientras siguen desarrollando la aplicación.

Como ves querido lector ningún programador se solapa con el otro, entre otras cosas porque se han organizado, sería absurdo que los tres desarrollaran a la vez el mismo formulario. Los tres trabajan en tiempo real y según van terminando sus tareas lo van subiendo al repositorio común para que los demás puedan integrar esas mejoras en sus accdbs para utilizarlas.

Como todo esto, aunque más fácil de lo que parece, no resulta sencillo al principio, vamos a ir desglosando en varias entregas la forma de proceder confiando en que, cuando terminemos esta serie de artículos, estés en disposición de desarrollar una aplicación Access entre varios programadores simultáneamente.

En la siguiente entrega explicaré cómo podemos extraer los objetos de la base de datos, que os recuerdo están dentro de un solo fichero Access, en objetos independientes que podamos subir o bajarnos de nuestro repositorio en la nube.

El contenido de esta serie de artículos es:

  • Microsoft Access y el desarrollo en equipo
  • Aprende a Exportar los objetos de Access en un txt
  • Buscando un repositorio en la nube económico
  • El control de versiones Git con Microsoft Access
  • TortoiseGit como interfaz gráfica de Git para Access
  • OASIS SVN para entendernos fácilmente entre el repositorio y Access
  • Clonando el repositorio para utilizarlo con Access
  • Creando nuestro primer Commit de algunos objetos de Access
  • Incorporando los objetos de otro desarrollador a mi programa Access
  • En desarrollo …..

2 comentarios

Deja un comentario

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