Access para Tablets – El acceso a los datos (1)

En esta mini guía que comenzamos en el artículo anterior nos vamos a poner el caso más complejo y delicado que nos podamos encontrar. Supongamos una empresa de mantenimiento de instalaciones eléctricas que disfruta en sus oficinas de una solución integrada desarrollada en Microsoft Access para el control de clientes, averías, reparaciones, garantías, almacén, etc.

Dicha solución consta de dos partes, el Front-End y el Back-End, opciones de la que ya hemos hablado en este blog en alguna ocasión. El Back-End, los datos, situados en un fichero «accdb» en un equipo accesible dentro de la red por todos los ordenadores que están ejecutando el Front-End, el programa, y que gozan de una conexión a la red estable, permanente, cabreada, donde no hay interrupción de la red y donde los Front-End tienen acceso permanente a los datos.

En dicha solución desarrollada con Microsoft Access, los técnicos entregan al final de la jornada en la oficina los partes de trabajo que han ido realizando a lo largo del día para que, al día siguiente, el personal de oficina pueda introducir en la base de datos toda esa información, y con ella realizar las operaciones pertinentes derivadas de esos trabajos, como son facturas, pedidos de componentes para realizar algunas reparaciones, etc.

La era de la información en tiempo real

El problema deriva en que esa información no está actualizada y por tanto la empresa no está ofreciendo un servicio de calidad. De hecho se podrían ahorrar tiempos efectivos en las reparaciones si, desde la oficina, supieran en tiempo real la necesidad de algún componente para una reparación y que el técnico lo tuviera disponible en cuanto pase por el taller. O incluso se podría realizar la factura en el mismo instante que esté la reparación realizada y enviársela directamente al cliente.

Electricista - Microsoft Access

Para que todo este ahorre de tiempos sea efectivo debemos dotar a los técnicos de una herramienta que les permita mantener informada a la oficina, en tiempo real, de todos los movimientos como reparaciones, necesidades de componentes, visitas que no se han podido realizar por ausencia del cliente, etc.

Aportando una solución

La respuesta a estos problemas pasa por dotar a los técnicos de una solución en Microsoft Access que pueda llevar encima y donde puedan mecanizar toda la información que generan diariamente en tiempo real.

Y cuando hablamos de tiempo real nos referimos a que no basta con introducir la información en su solución de Microsoft Access, sino que al mismo tiempo debemos de asegurarnos que esa información llegue en ese mismo momento a la oficina para que la procesen.

Para ello hemos optado por usar dispositivos portátiles y táctiles como las nuevas tablets que están inundando el mercado y que disponen de Windows 8, y en breve de Windows 10, que ejecutan perfectamente Microsoft Access. A día de hoy, mitad del 2015, podemos encontrar gran variedad de ellas a precios muy asequibles, unos 200€, con prestaciones muy modestas pero más que suficientes para ejecutar nuestras soluciones desarrolladas con Microsoft Access.

El requisito que, desgraciadamente, no se cumple

Para que la información que introduce el técnico se envíe directamente a la oficina, el dispositivo, debe contar con acceso a internet estable, permanente y esto no siempre sucede.

En una era donde la información y Internet se han convertido en parte esencial de la revolución tecnológica las compañías que proveen de acceso a internet no se adaptan a la velocidad que deben y, aunque en las grandes urbes si que hay conexiones muy estables a Internet para nuestros dispositivos que nos facilitarían el desarrollo de nuestra aplicación, en zonas rurales, en sótanos, en el interior de edificios, en zonas costeras, viajando por autovía, atravesando túneles, etc, a día de hoy aún existen muchas zonas dónde la conexión a internet es inexistente o, de haberla, de muy poca calidad con pérdida de la conexión permanentemente, lo que nos provoca un gran problema a los desarrolladores.

Electricista - Microsoft Access

¿Como enviamos la información cuando tenemos problemas de conexión a Internet?

Pues evidentemente no podemos. ¿Entonces que hacemos si desde la oficina nos reclaman en tiempo real la información? Pues esperar a que haya conexión a internet para que el usuario introduzca la información, claro que eso tampoco es muy práctico porque el técnico no puede esperar tres horas después para introducir los datos a la base de datos. Lo lógico es que una vez solucionada la avería, desde su tablet, introduzca la información necesaria y que él no deba preocuparse si la información se ha enviado a la oficina o no.

¿Entonces?, pues no hay un método eficaz 100% sino que tenemos que idear el mecanismo para que, si hay conexión a internet la información se envíe al momento y, si no la hay, guardemos esos datos en la tablet a la espera de que haya conexión estable y podamos enviarlos.

Access

Método Mixto

Yo le he llamado a este método de desarrollar en Microsoft Access, el método mixto, que viene a utilizar dos técnicas según las necesidades:

  1. Si Hay acceso a Internet: Directamente la información introducida en el formulario se envía al servidor
  2. No Hay acceso a Internet: Guardamos la información del registro en el propio fichero de Access y, cuando volvamos a dar de alta una avería, si las condiciones son propicias y ya tenemos acceso a Internet, entonces enviamos el nuevo registro y los que hubieran quedado pendientes.

Pros y contras de este método

  1. Desarrollamos la estructura de la aplicación como si trabajáramos con una solución de escritorio normal y corriente dónde los datos se guardan directamente en el fichero de Access de la tablet.
  2. Las tablas creadas en nuestra solución serán de tránsito lo que significa que las usaremos a modo de almacén temporal hasta que los datos podamos enviarlos al servidor.
  3. Desarrollaremos métodos que nos permitan detectar la conexión al Servidor, lo que significará que hay conexión a Internet, y enviar los datos.
  4. Tendremos un problema añadido que solucionar con los campos clave ya que varias tablets pueden estar informando al mismo tiempo con registros que luego se descargarán en la misma tabla del servidor. Haremos mención especial a este tema en los próximos artículos por su especial relevancia.
  5. Una opción muy útil para conectarnos a bases de datos externas a Access ha sido las tablas vinculadas. Esto en este entorno tan hostil no funciona bien, por tanto, prescindiremos de las tablas vinculadas.
  6. Enviaremos y recuperaremos la información del servidor directamente por código, usando VBA + ADODB
  7. Desgraciadamente con este método perdemos la baza más importante que siempre ha tenido Access, la sencillez en el desarrollo. Debemos de escribir más código para comunicarnos con el servidor. Podría parecer un problema pero una vez se entiende el funcionamiento es más fácil de lo esperado.
  8. Para colmo, mediante ADODB hay que traducirle al servidor la información que le estamos enviando para que la entienda. Esto implica convertir fechas a texto, eliminar de las cadenas de texto los apóstrofes o incluso sustituirle las comas por puntos para que lo entienda, entre otras cosas.

Access Tablet

Ya hemos salido del estado de confort de Microsoft Access

Pues bien, hemos llegado a todas y cada una de estas conclusiones ¿y que tenemos? pues que se nos ha acabado el chollo. Que Access nos ha dado siempre muchas facilidades para conectar directamente formularios a tablas o consultas sin escribir una sola línea de código, lo que nos ahorra infinidad de trabajo, y ahora nos vemos obligados a cambiar el chip y empezar a programar como si de un lenguaje de programación más avanzado se tratase.

Tenemos de que dar un paso hacia adelante y enfrentarnos a este problema con coraje y valentía. Os puedo asegurar que lo que se aprende con este tipo de desarrollos nos hace más fuertes como programadores, nos lleva a otro nivel y, vale, no es fácil, pero tampoco será un calvario si os puedo aportar parte de mis conocimientos para que no empecéis con mal pie.

 

En los próximos artículos iremos desgranando los puntos a ir solucionando con el tratamiento de datos y seguiremos dando luz a un problema del siglo XXI con nuestra herramienta favorita.

2 comentarios

  1. Angel.
    Gracias por tus aportacines.

    Muy interesantes los artículos. Especialmente el siguiente.

    ¿Hay alguna previsión de fecha para la próxima entrega?

    Gracias.

Deja un comentario

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