El objeto RecordSet será nuestro gran aliado en esta etapa.
En el artículo anterior «Configurando la conexión al servidor de bases de datos con ADO» preparamos un módulo VBA que nos permite comunicarnos con nuestro servidor, allí donde tengamos alojados los datos, para pedirle información de cualquier tabla. En este artículo explicaremos que es un RecordSet y su función en todo este tinglado.
Ahora es muy importante que entendamos que pasará cuando le pidamos al servidor datos mediante VBA. Este punto es la clave entre usar las propias tablas de Access para almacenar los datos o pedírselas al servidor mediante código Visual Basic.
La librería ADO que hemos utilizado para conectarnos al servidor dispone, entre otras muchas cosas, de un objeto llamado RecordSet. Imaginemos en un RecordSet como si fuera una tabla de Access, de las que hemos utilizado toda la vida, solo que no la vemos. Usando Microsoft Access de forma convencional podemos hacer doble click sobre una tabla y visualizar sus datos, recorrer los registros hacia adelante o hacia atrás e incluso añadir nuevos registros o borrarlos. Y todas esas operaciones las estamos viendo en pantalla, bien mediante la tabla o bien mediante un formulario.
Pero cuando los datos no están en el fichero de Microsoft Access no tenemos acceso a la tabla tal y como lo hemos hecho siempre. Si bien es cierto que podemos trabajar con tablas vinculadas que es lo más parecido a usar Access de forma tradicional, aunque los datos estén en otro lado, no es objeto de este artículo centrarnos en ellas ya que hemos ido un poco más lejos en cuanto a programación y uso de las mimas.
¿Qué es un RecordSet?
Explicar lo que es un RecordSet, que será dónde tengamos por código la tabla del servidor, no es tarea fácil. Os voy a recomendar la lectura del capítulo 11 del curso de VBA de Neckkito dónde explica, mucho mejor de lo que haría yo, el concepto etéreo de un RecordSet. Estoy convencido que tras leerlo entenderéis mejor dónde tendremos los datos una vez que se los pidamos al servidor.
¿Cómo o dónde veré los datos?
Vale, he leido y entendido lo que es un RecordSet y ya se, o creo saber dónde tengo los datos pero ¿cómo los veo?.
La finalidad de este corto artículo, antes de que nos traigamos los datos, es entender donde los tendremos y qué hacer con ellos. Un RecordSet es como un espacio en la memoria dónde habremos descargado los datos de nuestra tabla y ese RecordSet podemos asignárselo a un formulario de los que tengamos en Microsoft Access para que, desde él, podamos visualizar los datos e incluso manipularlos.
Haremos algo así:
- Conectaremos al servidor.
- Le pediremos los datos concretos.
- Los guardamos en VBA en un RecordSet
- Ese RecordSet se lo asignamos a un formulario que tengamos en Access.
No se si habré conseguido el objetivo de este artículo que no era otro que, dentro del todo el proceso que parece más complicado de lo habitual, entender dónde tendremos los datos.
En el siguiente artículo, que será más intenso que este, leeremos por fin los datos de una tabla y los asignaremos a un formulario para poder verlos.