I. Introduction

Les nouveaux volets d'aide à la création de champs sont une aide précieuse pour le développeur.

Ces volets sont disponibles en mode d'affichage Feuille de données.
Dans l'onglet Feuille de données du ruban, vous pouvez trouver un bloc nommé Champs et colonnes.

Image non disponible

Cliquez sur Ajouter des champs existants pour ouvrir le volet Liste de champs :

Image non disponible

Cliquez sur Nouveau champ pour ouvrir le volet Modèles de champ :

Image non disponible

II. Le volet "Liste de champs"

Ce volet permet de créer facilement un champ à partir d'un champ d'une autre table.

Il facilite la création de clé étrangère par glisser-déposer de la clé primaire.

Prenons un exemple simple : une table des départements.
Cette table contient deux champs :
- num_departement : le numéro du département;
- nom_departement : le nom du département;

Image non disponible

On souhaite utiliser cette table pour proposer une liste déroulante à l'utilisateur afin de faciliter la saisie lorsqu'il doit choisir le département d'un client par exemple.
Cette liste doit afficher le nom du département, par contre la valeur du champ est le numéro du département car c'est la clé.

Avec les versions précédentes, le développeur devait manuellement créer la liste déroulante dans l'onglet Liste de choix des propriétés du champs.
Il fallait manuellement choisir la table source, la colonne liée, le nombre de colonnes, les largeurs de colonnes pour masquer la clé, ...

Avec Access 2007, tout est plus simple.

1 - Créez une table des clients TClients

2 - Ajoutez par exemple un champ num_client (type NuméroAuto) et un champ nom_client (type texte)

3 - Basculez en mode feuille de données si vous êtes dans un autre mode

4 - Cliquez sur Ajouter des champs existants pour ouvrir le volet Liste de champs
Vous retrouvez dans ce volet la liste des champs de la table TDepartements :
Image non disponible

5 - Glissez-déposez le champ num_departement dans la table TClients
(ou cliquez sur le bouton droit sur le champ pour choisir l'option Ajouter un champ au mode)

6 - L'assistant se déclenche; cliquez sur la flèche pour ajouter le champ nom_departement
Image non disponible

7 - Dans l'écran suivant vous pouvez trier la liste, on demande un tri sur le numéro de département.
Image non disponible

8 - Cliquez sur suivant pour atteindre l'écran de paramétrage des largeurs de colonnes :
Augmentez un peu la taille de la colonne pour visualiser entièrement les noms de départements.
Laissez la case Colonne clé masquée cochée pour ne pas afficher la colonne qui contient les numéros de départements.
Image non disponible

9 - Dans le dernier écran on défini le libellé de la liste.
Image non disponible

10 - Cliquez sur Terminer pour finir l'ajout de champ.


Le résultat est visible immédiatement dans la table TClients.
Image non disponible

On obtient une liste de saisie qui affiche les noms de départements alors que ce sont les numéros qui sont stockés.

On peut ensuite basculer en mode création pour visualiser le travail de l'assistant :
Image non disponible

Notez également que l'assistant a automatiquement créé une relation entre les deux tables :
Image non disponible

La liste de choix étant définie dans la table, lorsqu'on insère ce champ dans un formulaire la liste de choix est automatiquement créée.

III. Le volet "Modèles de champ"

Ce volet, comme son nom l'indique, permet d'ajouter des champs à partir de modèles.

Reprenons la table TClients pour y ajouter les champs :
- Adresse
- Téléphone professionnel
- Page Web

Il suffit de glisser-déposer les champs à partir du volet "Modèles de champ".
Vous pouvez également double-cliquer sur le modèle pour insérer le champ en dernière position.

Regardons le résultat obtenu en mode création :
Image non disponible

Les propriétés des champs sont pré-renseignées.

Ces modèles prennent toute leur importance lorsqu'on sait qu'on peut en ajouter soit-même.
On peut alors envisager des modèles de champ communs à un projet, ou à un développeur qui les réutilisera dans ses différentes applications.

Les modèles sont stockés dans des fichiers au format XML :
- Soit dans le répertoire Templates de l'utilisateur.
  Pour XP : C:\Documents and Settings\NomUtilisateur\Application Data\Microsoft\Templates
  Pour Vista : C:\Users\NomUtilisateur\AppData\Roaming\Microsoft\Templates
(par défaut ces répertoires sont cachés, pour les afficher dans l'explorateur Windows : Outils --> Options des dossiers --> Affichage --> Afficher les fichiers et les dossiers cachés)
- Ou dans le répertoire Templates de l'application (les modèles par défaut se trouvent ici).
  Exemple de chemin : C:\Program Files\Microsoft Office 2007\Templates\1036\Access

Les fichiers portent l'extension accfl.


Vous pouvez créer de nouveaux modèles en exportant au format XML la structure d'une table existante.

Essayons de créer des modèles à partir de la table TClients :

1 - Lancer l'exportation de la table au format XML :
Soit : Click droit sur la table --> Exporter --> Fichier XML
Soit : Sélectionnez la table, puis dans le ruban : Données externes --> Exporter --> Plus --> Fichier XML

2 - Choisissez le répertoire de destination (cf répertoires ci-dessus) et un nom de fichier

3 - Sélectionnez uniquement Schema de données (XSD)
Image non disponible

4 - Le fichier se crée avec une extension xsd, renommez la en accfl.

5 - Fermer ACCESS et relancez.

Dans le volet Modèles de champ, on peut voir un nouveau groupe du nom de la table que l'on a exportée.

Image non disponible

Si on a besoin d'un champ département, pour une table des fournisseurs par exemple, il suffit d'utiliser le modèle Département du groupe TClient.
Toutes les propriétés du champ, y compris la liste déroulante, sont recopiées à partir du modèle.

IV. Conclusion

Deux nouveautés abordées dans cet article :
L'une qui facilite la création des listes de saisies (clé étrangère);
L'autre qui propose de créer des modèles de champ réutilisables dans toutes ses applications.

Intéressant si on sait dépenser un peu de temps pour en gagner plus par la suite.

Votez ici!