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.
Cliquez sur Ajouter des champs existants pour ouvrir le volet Liste de champs :
Cliquez sur Nouveau champ pour ouvrir le volet Modèles de champ :
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;
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 :
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
7 - Dans l'écran suivant vous pouvez trier la liste, on demande un tri sur le numéro de département.
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.
9 - Dans le dernier écran on défini le libellé de la liste.
10 - Cliquez sur Terminer pour finir l'ajout de champ.
Le résultat est visible immédiatement dans la table TClients.
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 :
Notez également que l'assistant a automatiquement créé une relation entre les deux tables :
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 :
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)
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.
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!