Access & Visual Studio ¿indeciso?

Este es la eterna discusión para los que desarrollamos en Microsoft Access. ¿Programo en Access o en Visual Studio?

Access contra Visual Studio
Access contra Visual Studio

Y la duda surge, en la mayoría de las ocasiones por esta afirmación que suelo escuchar con frecuencia: Access es una aplicación de segundas.

Vamos a intentar demostrar que Access no es una aplicación de segundas y que no rivaliza con Visual Studio sino que juegan en ligas distintas. Aunque ambas aplicaciones sirvan para diseñar software que nos facilite la vida cada una de ellas tiene puntos débiles y otros más fuertes que hace que cada una se desenvuelva en entornos diferentes. Veamos en líneas generales algunos puntos:

Visual Studio

  • Requiere conocimientos en programación para su manejo.
  • Es multilenguaje (Visual Basic, C#, C++, Python, HTML, PHP, etc.)
  • Diseñada para desarrollar en equipos.
  • Herramientas para usar servicios en la nube.
  • Capacidad de gestionar bases de datos externas.
  • Increíbles herramientas de depuración de código.
  • Ayudas en pantalla para escribir código (IntelliSense).
  • Licencias más costosas que Access.

Microsoft Access

  • No requiere conocimientos de programación para su manejo.
  • Dispone de Macros para programar.
  • Incluye Visual Basic para Aplicaciones.
  • No está diseñado para desarrollar en equipo.
  • Capacidad para conectarse a bases de datos externas.
  • Herramientas básicas de depuración de código.
  • Ayudas para escribir código (IntelliSense).
  • Licencias más económicas que Visual Studio.

Ambas son grandes herramientas, si bien es verdad que abordar proyectos de envergadura que requieran equipos de personas programando y gestión de más de un lenguaje de programación para el mismo proyecto a la vez que poder utilizar un potente gestor de cambios como Git solo puede hacerlo Visual Studio.

Sin embargo con Access se pueden desarrollar otros proyectos que no requieran tanta complejidad y, sobre todo, dada su sencillez, permite disponer de modelos en muy poco tiempo. Digamos que Microsoft Access encaja mejor en los departamentos de las grandes empresas que a nivel general desarrollando grandes herramientas corporativas.

Este punto es realmente importante porque a los programadores se les olvida con frecuencia que todas las empresas tienen necesidades a nivel departamental que no suelen cubrir las herramientas corporativas. Implementar estas necesidades suele ser costoso, requiere mucho tiempo, burocracia, permisos, y mil cosas más para un problema que, en muchas ocasiones es sencillo de resolver.

Y aquí es dónde Access gana por goleada a Visual Studio por motivos como:

  • Es sencillo de manejar.
  • No require experiencia como desarrollador para empezar.
  • Incluye todo lo necesario para crear una aplicación funcional.
  • Tiene muchos asistentes que ayudarán a crear la aplicación.
  • Se pueden hacer programas compartidos en red por varios usuarios.
  • Se puede programar con Visual Basic si nos quedamos cortos con las macros.
  • Podremos conectarnos a bases de datos externas.
  • Incluye las herramientas para generar informes de forma sencilla.
  • Access suele estar instalado en todos los ordenadores con Office.

Diríamos que Access es fácil que lo tengas instalado y ni siquiera te hayas fijado en él.

Cualquier persona de la organización que necesite resolverse un programa con la información que gestiona podrá, con poco esfuerzo, crearse su propia solución sin necesidad de recurrir a los departamentos de informática, y la burocracia, de la empresa.

Como puedes ver estas afirmaciones no están dirigidas al programador informático, hasta ahora hemos podido prescindir en parte de él. Pero veamos, si eres un programador experto, que puede ofrecerte Access, la herramienta en ocasiones mal denominada «de segundas».

¿Quien define lo que es una herramienta de primer nivel o de segundo nivel? Aquí hay mucho postureo que ante el desconocimiento se empeñan en desprestigiar una herramienta que por si sola es completísima. He visto programadores crear aplicaciones con un simple editor de textos como el notepad sin necesidad de artilugios ni las ayudas que traen Access o Visual Studio.

Código en NotePad
Código en NotePad

Entonces, si se puede programar con un simple editor de textos ¿por qué Access con su gran cantidad de opciones es mala opción? pues dejarme que os diga que no lo es.

Tenemos una integración de herramientas en Access tal que, sin salir de Access podemos diseñar una aplicación de principio a fin. Además de las macros y asistentes. Y si aún así se nos queda corto podemos extender el desarrollo escribiendo código Visual Basic desde su propio editor. Esto nos extiende su potencial prácticamente hasta los límites del propio desarrollador.

Además, siendo una herramienta creada por Microsoft allá por el año 92 entenderás que existe documentación para dar y regalar por la web, a parte de este blog que estás leyendo, donde encontraras miles de respuestas resueltas, trucos, mejoras, técnicas novedosas, nuevas funcionalidades.

Estoy seguro que no te quedarás con dudas cuando estés desarrollando tu propia solución en Microsoft Access. Te pongo a continuación algunas de los lugares de la red donde encontrar información al respecto.

Enlaces de interés

Estos enlaces son solo una pequeña muestra de la gran cantidad de material que hay disponible en la web.

Aprovecho para recordar que el grupo de usuarios Access España realiza una jornada presencial anual bajo el título «¡ Descubra el poder de sus datos!» donde se reúnen los desarrolladores más importantes de España para mostrarnos sus técnicas, sus trucos, avances en el desarrollo, nuevos métodos y un sin fin más de cosas sobre esta gran herramienta.

Descubra el poder de sus datos
Descubra el poder de sus datos

8 comentarios

  1. Gran articulo, y concuerdo con lo que mencionas, muchas personas menosprecian la gran herramienta que ofrece Access.
    En lo personal fue la primera herramienta que opte para desarrollar programas que solucionaran las necesidades de algunos departamentos de la empresa donde trabajo, y con todo ese soporte que encuentra uno en linea, he logrado hacer aplicaciones sencillas pero con gran capacidad, debo admitir que esta pagina fue de las que mas me ha ayudado.
    Le mando un gran saludo y gracias por compartir todo este conocimiento.

  2. Buen día, solo quiero comentar mi punto de vista, soy programador web full stack.
    Basas tu presentación en una declaración falsa: «… si se puede programar con un simple editor de textos ¿por qué Access con su gran cantidad de opciones es mala opción? …» La verdad que la imagen que pusiste con código HTML no es programación, todos sabemos que es un lenguaje de hipermarcado de texto, y como no es un lenguaje de programación y no necesita compilación, obviamente con un simple editor de texto podría trabajarlo. Así que concluir que Access que tiene más funciones que notepad.exe (por ejemplo) es un bueno entorno de desarrollo es equivocado, y más aún afirmar que «… Access gana por goleada a Visual Studio …».
    Para resolver una necesidad de procesamiento o gestión de datos por parte de alguien que desconoce de programación, claro que Access es la ÚNICA opción, pero para un programador es la última opción, existiendo tantos IDE’s que nos posibilitan mejores resultados, como programar un sistema web que pueda ser accedido desde cualquier lugar, con cualquier dispositivo, algo que Access no puede lograr, sólo dando un ejemplo.
    Yo enfocaría este post en mostrar que: para un persona que no sabe programación, con Access puede obtener resultados rápidos, en vez de intentar demostrar con premisas falsas que «programar» en Access es mejor que usar un entorno de desarrollo para algún lenguaje específico.
    Mi humilde punto de vista.. si alguien está en desacuerdo puede comentarme por supuesto.
    Se agradece el esfuerzo de llevar conocimiento a aquellos que los necesitamos, solo hay que ser cuidadosos en lo que decimos. Saludos!

Deja un comentario

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