Active Data Objects
ADO permet de ne plus avoir recours à plusieurs interfaces car il fournit des "providers" vers toutes les sources de données. Visual Basic permet lutilisation de plusieurs interfaces daccès aux données. Le modèle ADO permet un accès simplifié aux données en utilisant trois types d'objets qui peuvent être utilisés séparément :

Présentation du modèle
Les objets ADO vous offre un accès simple et rapide aux données de tout types. Le modèle ADO comporte trois composants principaux: lobjet Connection, Command, Recordset.
==>?L'objet Connection est celui qui soccupe du niveau le plus élève. Il est utilisé pour établir une connexion entre application et une source de données externe.
==> ?L'objet Command sert à créer des requêtes pour accéder aux enregistrements dune source de données généralement renvoyer dans un recordset.
==> L'objet Recordset permet daccéder aux enregistrements renvoyés par une requête SQL. Cet objet permet de naviguer dans les enregistrements renvoyés, ajouter, modifier ou en supprimer. (identique à la DAO 3.51).
Création de la référence à ADO.
ADO (Active X Data Object) permet daccéder à une source de données et de manipuler son contenu. Il offre un accès universel aux données. De nombreuses plates-formes de développement prennent en charge ADO ( VB, C++ -,ASP, Vb script, etc. ...)
Pour utiliser ADO dans une application Access VBA , vous devez créer une Référence à la bibliothèque Microsoft Activex Data Object 2.7 Library
Se mettre dans léditeur Visual Basic
Menu Outils - Références

I ) L'objet Connection.
Un objet Connection représente une session unique avec une source de données. Dans le cas d'un système de base de données client/serveur, il peut correspondre à une connexion réseau au serveur.
a. Déclaration :
Dim MaConnexion As Connection
b. Création d'une instance:
Set Maconnexion = New Connection
Il s'agit ensuite de déterminer les paramètres de connexion à une source de données. Il faudra indiquer quel est le Provider, c'est à dire le type de fournisseur de données:
MaConnexion.Provider = "Microsoft.Jet.oledb.4.0" ' Pour access 2000 (Adaptez le provider en fonction de la source de données que vous utilisez)
Ensuite, il suffira d'ouvrir la connexion grâce à la méthode Open:
MaConnexion.Open "c:\
"
en indiquant pour ce type de Provider le nom physique du fichier Access.
II ) L'objet Command
Un objet Command représente la définition d'une commande spécifique que vous allez exécuter sur une source de données.
Un objet Command permet de consulter une base de données et de renvoyer des enregistrements dans un objet Recordset, d'exécuter une opération globale ou de manipuler la structure d'une base de données
Dim MaCommande as Command
Set MaCommande = New Command
With MaCommande ' Evite de retaper MaCommande sur chaque ligne
.ActiveConnection = MaConnexion
.CommandText = "select * from vehicule"
.Execute
End With
Démarche ADO (Active X Data Object)
1. Tout d'abord il faut déclarer la variable associée à la connexion.
Dim MaConnexion As Connection
'Ouverture d'une connexion
Set MaConnexion = New Connection
2. Définir le Provider, c'est à dire le type de
fournisseur de données:MaConnexion.Provider = "Microsoft.Jet.oledb.4.0"
3. Ouvrir la connexion grâce à la méthode Open
MaConnexion.Open "c:\
"
Il faut indiquer pour ce type de Provider le nom physique du fichier Access
Exemple
: "d:\TestADO\ Test ADO sans DSN .mdb "
Utiliser une requête
Lobjet Recordset permet à une application daccéder aux données renvoyées par une requête SQL. Cette requête peut être crée par lapplication ou peut résider sur le serveur en tant que procédure stockée.
Principales propriétés de lobjet Recordset.

Notion de curseurs
Les curseurs permettent de se déplacer dans un Jeu denregistrements

Les verrouillages
Nous pouvons également indiquer au jeu denregistrements comment verrouiller les données aux cours de leur manipulation via le curseur.

Exemple

Dans un premier temps nous allons créer dans un module une constante de type chaîne qui va contenir le nom physique de la base (ce qui nous permettra de modifier une seule fois la constante le cas échéant).
Public Const NomBaseMDB = "d:\TestADO\ Test ADO sans DSN .mdb"
1. Déclaration de la source de donnée et du recordset
Option Explicit
Dim MaConnexion As Connection
Dim MaRequete As Recordset
Private Sub Form_Load()
Set MaConnexion = New Connection
With MaConnexion
.Provider = "Microsoft.Jet.oledb.4.0" ' 3.51 pour access 97
.Open NomBaseMDB '
End With
Set MaRequete = New Recordset
With MaRequete
.ActiveConnection = MaConnexion
.Open "select * from T_Clients" , , adOpenDynamic, adLockPessimistic
End With
End Sub
Un recordset peut utiliser plusieurs types de curseurs, ici , adOpenDynamic pour permettre les différentes options de parcours :
'Définir le curseur pour pouvoir se déplacer en arrière dans une requête. Sinon par défaut la requête est de type en avant seulement.
MaRequete.CursorType = adOpenDynamic
'Retirer le verrouillage pour autoriser les modifications.
MaRequete.LockType = adLockOptimistic
[... End Of Tutorial ...]