Los objetos de acceso a los datos DAO y ADO
Introducción
Cuando queremos manipular los datos en una base de datos, tanto para acceder a la estructura de las tablas, consultas o directamente a los registros, el uso de objetos de acceso a los datos es muy útil. Podemos trabajar con datos locales, así como con datos remotos.
Históricamente hay dos modelos. El objetivo de este capítulo es revisar estos modelos. Antes de la versión Access 2000, solo existía el modelo DAO (Data Access Objects). Con la versión Access 2000, aparece un segundo modelo: ADO (ActiveX Data Objects).
Es muy recomendable utilizar el modelo más reciente, ADO, que presenta las ventajas respecto a su predecesor: un mejor soporte de Microsoft SQL Server, mejor rendimiento en modo cliente/servidor y un código más corto y sencillo de escribir.
Para la creación de una nueva aplicación, el uso del modelo DAO sigue siendo posible, pero es preferible trabajar con el modelo ADO, que hace permanente la aplicación.
Para terminar, en caso de una recuperación de una aplicación existente, es posible modificar y actualizar el código para hacerla evolucionar desde el modelo DAO al modelo ADO.
DAO
1. Introducción
DAO (Data Access Objects) es una librería de VBA que agrupa un conjunto de objetos, permitiendo acceder a una base de datos. Se utilizan estos objetos para acceder, al mismo tiempo, a las estructuras de los datos (tablas y consultas) y a los registros. El modelo tiene en cuenta dos espacios de trabajo posibles o entornos de base de datos:
El espacio de trabajo Microsoft Jet, que permite acceder a las bases de datos Access, a los servidores de bases de datos ODBC (Open DataBase Connectivity) y a las bases de datos externas, como por ejemplo Microsoft Excel, Paradox o dBase, accesibles gracias a un controlador ISAM (Indexed Sequential Access Method).
El espacio de trabajo ODBCDirect, que permite trabajar directamente con los servidores de datos ODBC sin pasar por el motor de base de datos Microsoft Office. Se recomienda este espacio de trabajo para ejecutar consultas, procedimientos almacenados o funciones específicas de ODBC en un servidor remoto tipo SQL Server.
Para utilizar la librería de objetos DAO, es necesario añadir la referencia Microsoft DAO 3.6 Object Library en la lista de las referencias. Puede realizar esta operación seleccionando la pestaña Referencias del menú Herramientas. Si intenta encontrar directamente esta referencia para marcarla en la lista de las referencias disponibles, puede hacer clic en el botón Examinar y buscar su ubicación. El archivo dao360.dll generalmente está en la siguiente carpeta: C:\Program Files (x86)\Common Files\Microsoft Shared\DAO
Adicionalmente, el archivo de ayuda DAO360.chm proporcionado con los ejemplos de este libro, le será útil para encontrar información detallada del uso del modelo de objetos DAO.
2. Modelo de datos DAO
A continuación encontrará el modelo jerárquico de objetos del modelo DAO:
3. Descripción de las colecciones DAO
Para cada uno de los tipos de objeto DAO, podemos comprobar la existencia de una colección, excepto para el objeto DbEngine.
Colección |
Conjunto de los objetos |
Containers |
Container, que agrupa los siguientes objetos de la base de datos: base de datos, formularios, módulos, relaciones, estados, macros, información interna de las relaciones, tablas y consultas. |
Databases |
Database, base de datos abierta en el espacio de trabajo. |
Documents |
Document, nombre genérico dado al contenido... |
ADO
1. Introducción
ADO (ActiveX Data Objects) es una librería de VBA que agrupa un conjunto de objetos que permite acceder a una base de datos. Se utilizan estos objetos para acceder a las estructuras de datos (tablas, consultas), así como para manipular los registros. El modelo tiene en cuenta el entorno de base de datos OLE DB. Esta librería tiene mejor rendimiento que DAO, y permite fundamentalmente realizar aplicaciones cliente/servidor, así como aplicaciones web.
Para utilizar la librería de objetos ADO, es necesario añadir la referencia Microsoft ActiveX Data Objects 6.0 Library a la lista de referencias. Puede realizar esta operación seleccionando la pestaña Referencias del menú Herramientas. Si no encuentra directamente esta referencia en la lista de referencias disponibles, puede hacer clic en el botón Examinar y buscar su ubicación. El archivo msado16.dll generalmente está en la siguiente carpeta: C:\Program Files (x86)\Common Files\System\ado
Adicionalmente, el archivo de ayuda ADO210.chm proporcionado con los ejemplos de este libro, le será de utilidad para encontrar información detallada del uso del modelo de objetos DAO.
2. ADO y OLE DB
La tecnología OLE DB permite un acceso uniforme a los diferentes datos almacenados en diferentes fuentes de información (base de datos relacionales, mensajería, sistema de archivos, etc.).
Más abajo está la arquitectura tecnológica que relaciona ADO y OLE DB.
3. Modelo de datos ADO
El siguiente esquema representa las diferentes colecciones de objetos contenidos en la jerarquía ADO.
El proceso de un acceso a los datos por medio de la librería ADO es el siguiente:
1. |
Crear una conexión Connection a la fuente que contiene los datos. |
2. |
Escribir el comando SQL Command. |
3. |
Enviar el comando a través de la conexión Connection. Dependiendo de si el comando devuelve o no datos, llegado el caso estos se almacenan en un objeto Recordset. |
4. |
Moverse por el juego de registros, añadir un nuevo registro, actualizar y eliminar. |
5. |
Validar y anular la transacción si se inició durante la apertura de la conexión. |
4. Descripción de los objetos ADO
Tipo de objeto |
Descripción |
Connection |
Representa una conexión a una fuente de datos. |
Command |
Representa una consulta o una instrucción que se ejecutará en... |