Como el título indica, el producto de base de datos de oficina, Microsoft Access, está limitada por la propia compañía para que no les haga competencia a otros productos como el SQL Server y el desarrollo de programas en C#, por ejemplo.

Me explico:

La primera limitante es la comercial. Access no se vende sola, sino como parte de Microsoft Office y por ende no se puede distribuir una aplicación hecha en Access sin antes verificar que el cliente tenga una licencia válida del mismo Office como tal. Microsoft no ofrece licencias de distribución de Access a terceros. Noten que no existe un instalador de algo hecho en Access solamente. Hace más de quince años existió uno que tuvo una muy corta duración.

La segunda limitante es que Access no promueve algo tan sencillo como la división entre programa y datos. Todo reside en el mismo fichero de Access. ¿No les ha pasado que cuando tienen que actualizar los programas y reportes de Access primero tienen que "copiar y pegar" todas las tablas del cliente en el nuevo fichero con las actualizaciones?. Claro que esto puede solucionarse si "siempre" se crean y mantienen las tablas en un fichero aparte y en otro fichero se pone todo el resto de la programación, consultas incluidas, haciendo enlace de uno a otra tabla a tabla. Pero ojo, el fichero de datos debe estar siempre en un subdirectorio que no cambie de usuario a usuario, léase, no debe estar en  "Mis Documentos", por ejemplo. Debe ponerse en una carpeta prefijada del disco C: o en una carpeta compartida de red, siempre la misma, de acceso preferiblemente como "letra disco", o sea, Q:\data por ejemplo.

La tercera limitante es que no existe un sistema de eventos y triggers asociados al contenido de los datos, como sí existe en otros sistemas de bases de datos. En casi todos los otros. Por ejemplo, supongamos que se necesita que cuando el valor de un dato exceda un umbral se ejecute un código. Supongamos además que los datos están en un solo fichero de Access en una carpeta compartida de red, digamos que tenga nombre Q:. Supongamos además que hay muchos ficheros de Access con programas que utilizan este fichero compartido, y que alguno de ellos incrementa el valor mencionado y se pasa el umbral. ¿Cómo ejecutar un código asociado?. Esa precisamente es la razón de los eventos y triggers asociados al contenido de los datos.

Sin embargo, Access es prácticamente la única que trabaja con casi todos los otros sistemas de bases de datos, a través de acceso vía datos externos vinculados hasta por ODBC.

En conclusión, en Access se pueden hacer muchas cosas, pero tiene limitantes de distribución, hay que separar datos de programas, hay que ser meticuloso con las ubicaciones tanto locales como en la red, y no existe un sistema de eventos y triggers asociados al contenido de los datos.

¿Se han preguntado por qué en Office 365 se puede programar en JavaScript y en el Office local no es posible?

Espero haberles sido útil,

Octavio Báez Hidalgo.

No hay ideas en “Microsoft Access como base de datos está limitada por diseño y qué hacer.”

Deje su comentario

En respuesta a Some User