IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Définition et manipulation de données avec DAO

Image non disponible


précédentsommairesuivant

2. La hiérarchie du modèle DAO

2-1. Le modèle objet

Voici une représentation du modèle objet DAO :

Hiérarchie du modèle DAO

Comme vous pouvez le remarquer, le modèle objet DAO possède une structure hiérarchisée dont la racine est un objet DBEngine. Les relations de descendance sont de type un à plusieurs. Cela signifie que chaque objet parent possède une collection de chaque type d'objet enfant dont le nom est normalisé ainsi :

Nom de la collection = Type de l'objet enfant + "s"

Par exemple, l'objet DBEngine possède une collection d'objet Workspace. Cette collection est nommée Workspaces.

Précisons aussi que ce schéma a été réduit uniquement à la partie définition de données (en bleu) et à la partie manipulation de données (en vert). De plus, chaque branche a été réduite pour améliorer la lisibilité. Comme tout autre objet, un objet DAO possède un ensemble de propriétés (property). Celles ci sont regroupées dans une collection nommée properties propre à chaque objet. Voici un exemple du schéma réel à appliquer aux objets TableDef.

Détails de la hiérarchie DAO

L'utilisation de DAO implique de nombreuses déclarations de variables. Ceci demande beaucoup de rigueur. Aussi je vous invite à consulter le tutoriel sur les conventions de nommage Visual Basic écrit par Jean-Philippe AMBROSINO : Les conventions typographiques en VBA (illustrées sur Access)

2-2. Quelques rappels sur les collections

Etant donné que DAO est un modèle objet et qu'il utilise de nombreuses collections, je vous propose quelques rappels sur le traitement des collections d'objets sous Visual Basic.

2-2-1. Accéder à un élément d'une collection

Il existe deux techniques afin d'accéder à un objet d'une collection :

Accès via l'index : Il s'agit d'utiliser la position de l'élément dans la collection en sachant que le premier possède l'index zéro.

Syntaxe :

 
Sélectionnez
MaCollection.Item(2)

Accès via la clé : Il s'agit d'utiliser le nom de l'élement lorsque celui-ci est connu.

Syntaxe :

 
Sélectionnez
MaCollection.Item ("MonItem")

La propriété Item est le membre par défaut des objets de type Collection. Vous pouvez donc utiliser indifféremment :

Syntaxe :

 
Sélectionnez
MaCollection.Item ("MonItem")

Ou :

Syntaxe :

 
Sélectionnez
MaCollection.("MonItem")

2-2-2. Compter les éléments

Sous Visual Basic, les collections proposent la propriété Count qui renvoie le nombre d'objets dans la collection.

Syntaxe :

 
Sélectionnez
MaCollection.Count

Etant donné que le premier élément a pour index 0, on en conclut aisément que le dernier élément de la collection possède l'index : Count - 1

2-2-3. Parcourir les éléments d'une collection

Une nouvelle fois, il est possible d'utiliser deux méthodes. La première consiste en une boucle sur l'index de la collection jusqu'au dernier élément.

Voici un exemple :

 
Sélectionnez
Dim i As Integer, nbMax As Integer
'Récupère le nombre de Workspace
nbMax = DBEngine.Workspaces.Count - 1
'Boucle sur l'index
For i = 0 To nbMax
  'Affiche le nom de l'objet
  MsgBox DBEngine.Workspaces(i).Name
Next i

La seconde méthode utilise une boucle For Each … In … Next pour parcourir un à un les objets de la collection.

Ainsi :

 
Sélectionnez
Dim oWks As DAO.Workspace
For Each oWks In DBEngine.Workspaces
  'Affiche le nom de l'objet
  MsgBox oWks.Name
Next oWks

Peut être traduit par :

 
Sélectionnez
Pour chaque objet Workspace de la collection Workspaces du DBEngine 
    Afficher le nom de l'objet
Fin Pour

Cette dernière méthode possède un avantage dans le cas de collections hétérogènes. Imaginons une collection d'objets O1 et O2. Pour parcourir uniquement les éléments de type O1, nous aurions par exemple :

 
Sélectionnez
Dim oTmpObjet as TypeO1
For Each oTmpObjet In MaCollection
  'Traitement à effectuer
Next oTmpObjet

2-2-4. Ajouter un élément

Les collections DAO sont munies de la méthode Append qui permet d'ajouter un élément. Sa syntaxe est la suivante :

 
Sélectionnez
MaCollection.Append MonObjet

Notons tout de même que pour être ajouté, l'objet doit être instancié auparavant, sans quoi il sera impossible de l'ajouter. De même, il est impossible d'ajouter un objet si un autre objet présent dans la collection possède le même nom. Vous trouverez de nombreux exemples de la méthode Append dans la suite de ce document.

2-2-5. Supprimer un élément

La méthode Delete appliquée aux collections DAO permet de supprimer l'élément dont le nom est passé en paramètre. La syntaxe de cette méthode est la suivante :

 
Sélectionnez
MaCollection.Delete "MonItem"

précédentsommairesuivant

Copyright © 2005 WARIN Christophe. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.