Microsoft Access y ADO, descubriendo un nuevo escenario para tratar los datos

Tras los dos artículos anteriores “¿Tablas vinculadas o acceso a datos mediante VBA en Microsoft Access?” y “Microsoft Access y ADO, un nivel más para el desarrollo de nuestras aplicaciones” donde hemos desgranado los problemas que nos pueden llevar a tomar la decisión de cambiar la forma de utilizar Microsoft Access y, tras averiguar qué son las librerías de Microsoft ADO y su utilidad, llega el momento de visualizar el nuevo escenario sobre el que vamos a trabajar y de qué modo utilizaremos ADO para recuperar la información alojada en un servidor.
Nuestro escenario, tal y como adelantábamos en los dos artículos anteriores, se basa en que tendremos acceso (dirección, usuario y contraseña) a una base de datos alojada fuera de nuestras instalaciones en un servidor de base de datos, da igual lo lejos que esté, y sobre la cual vamos a realizar consultas de datos, añadiremos registros, los editaremos e incluso, los borraremos.

Vamos a matizar en este punto el concepto de servidor de bases de datos que considero fundamental para entender lo que queremos hacer. No es lo mismo alojar un fichero de Access en una carpeta compartida de un ordenador que hace de servidor, y nos vinculemos a ese fichero, a que este mismo ordenador tenga instalado un software “SERVIDOR DE BASES DE DATOS” que tiene capacidad para gestionar bases de datos en cuanto a preservar la integridad de los datos, los permisos de usuario para acceder a las mismas, repartir la potencia del PC donde está instalado para atender todas las peticiones de los usuarios, gestionar las copias de seguridad de las bases de datos, procesar las consultas de datos que se le piden desde las distintas aplicaciones, etc.

Como se puede comprobar, un software servidor de bases de datos, como pueden ser Microsoft SQL Server, MySQL, MariaDB, u Oracle, por mencionar algunos de los más conocidos en la actualidad, hace un trabajo proactivo frente al pasivo de una carpeta dónde simplemente hay alojado un fichero de Access que podemos leer desde otro ordenador.

Sigamos desgranando nuestro escenario. Hasta ahora, querido lector, está acostumbrado a crearse las tablas y las relaciones entre ellas con el propio Access. Al pasar los datos a un Servidor de Bases de Datos la creación de las mismas hay que hacerlas en el propio servidor, si bien es cierto que ADO, del que aprenderemos algunos conceptos básicos aquí, tiene capacidad para crear las tablas y configurar las propiedades de los campos, no es la finalidad de esta mini guía el explicar cómo hacerlo, temas que abordaremos en una segunda parte. Así que daremos por hecho de que la base de datos a la que quieres acceder ya está creada, configurada, y eres conocedor de las tablas, así como los datos que contienen, y que vamos a leer mediante código VBA.

El medio que usaremos para diseñar nuestro Front-End capaz de acceder a esos datos e interactuar con ellos será, como no podía ser de otra forma, Microsoft Access.

No usaremos tablas vinculadas, sino que leeremos la información directamente desde VBA.

Microsoft Access tablas vinculadas
Microsoft Access tablas vinculadas
En este caso, los formularios, subformularios, cuadros de lista, cuadros combinados y demás elementos de Access no estarán vinculados directamente a tablas sino que carecerán de esa conexión física hasta que, por código Visual Basic, les asignemos un conjunto de registros que nos habremos descargado desde el servidor.

Nuestros ejemplos los realizaremos con un servidor SQL Server, que es lo que más a mano tengo, pero aprenderemos algunos conceptos para que puedas pedirle información a otro tipo de servidores como MySQL, Oracle, MariaDB, etc.

Microsoft Access servidor sql server
En cierto modo cambiará en muy poco la forma de trabajar con un servidor u otro pues, a priori, lo único que cambia es el controlador ODBC que hace de traductor entre nuestro Access y el servidor pues, para cada servidor de base de datos, necesitaremos instalar su controlador correspondiente además de decirle a Access, en VBA, que controlador queremos que utilice de los instalados en el PC. Hablaremos del controlador ODBC en esta serie de artículos.

Independientemente del servidor dónde estén los datos, la forma de interactuar con los mismos será común para todos ellos ya que se utiliza el lenguaje universal SQL para ello. SQL (Structured Query Language), o lo que es lo mismo, lenguaje de consulta estructural, dispone de unos comandos muy básicos con los que interactuar con la base de datos. Si, ya lo sé, esto se está complicando un poco pero no hay que alarmarse porque, aunque no lo hayas visto aún, resulta que Microsoft Access también trabaja con el lenguaje SQL y, te voy a dar una buena noticia, Access también tiene la capacidad de traducir una consulta normal a lenguaje SQL sin necesidad de que tengas que aprenderte para empezar este nuevo lenguaje. ¿Esto qué quiere decir? Pues que podremos simular la consulta que nos devolverá los datos que necesitaremos en Access, y que este nos dé el código que meteremos en VBA para pedirle esos datos al servidor. ¿Sorprendido? No todo va a ser pico y pala.

Microsoft Access consulta sqlMicrosoft Access consulta sqlMicrosoft Access consulta sql
En el siguiente artículo “Configurar Access para utilizar ADO” empezaremos a jugar con nuestro Access que sé que lo estás deseando después de tanta teoría. En los próximos días estará disponible, se paciente mientras tanto.

3 comentarios

  1. Estimado, dónde puedo encontrar mas informacion acerca del manejo de datos con ADO? leer, editar, borrar , etc Veo que hay articulos que aqui no aparecen

Deja un comentario

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