Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Fonction Choisir dans Access
Pour préserver les ressources d'une
base de données, il est vivement conseillé d'éviter les redondances de textes dans un
champ de
table. Pour les catégories par exemple, on préfèrera les représenter par des
codes numériques. Si ces derniers sont reliés à leur équivalent textuel dans une
table dépendante, il sera très simple de remonter l'information pour identifier explicitement chaque catégorie.
Mais il est aussi possible de traduire ces codes numériques à la volée. Pour cela, il suffit d'exploiter la
fonction Access Choisir dans une
requête. Les genres de film sont représentés par un chiffre de
type Octet beaucoup moins gourmand qu'un texte répété à chaque reprise. Une
requête avec un
champ calculé ne stocke pas ces données. Elle les recalcule à chaque exécution.
Base de données source
Pour la démonstration de cette nouvelle
astuce Access, nous proposons de récupérer une petite base archivant ces quelques informations à manipuler.
- Télécharger le fichier choix-categories.rar en cliquant sur ce lien,
- Le décompresser dans le dossier de votre choix,
- Double cliquer sur le fichier résultant pour l'ouvrir dans Access,
- Cliquer sur le bouton Activer le contenu du bandeau de sécurité,
- Dans le volet de navigation, double cliquer sur l'unique table nommée T_Films,
Ainsi, nous affichons son contenu en
mode feuille de données. Cette
table est très simple comme vous pouvez le voir. Des titres de films sont énumérés dans un champ. Les catégories associées sont recensées dans un champ voisin et représentées par un numéro.
- A gauche du ruban Accueil, cliquer sur la flèche du bouton Affichage,
- Dans la liste des propositions, choisir le mode Création,
Nous basculons ainsi dans la vue en conception de la
table.
Le
champ film_genre est bien typé en numérique. La
taille de son champ est réglée sur
Octet, soit le type le plus petit et le moins gourmand par voie de conséquence. Dans la
colonne Description, vous notez la présence des correspondances à établir entre chaque numéro et le genre du film en toutes lettres. Ces informations sont des commentaires. Elles n'apparaissent pas en mode feuille de données.
Requête de traduction
Pour retranscrire les genres de films en textes, nous pouvons créer une
requête sélection sur la base de la
table T_Films. Nous devons lui ajouter un
champ calculé. Ce
champ calculé doit exploiter la
fonction Choisir. Cette dernière attend un champ en premier paramètre. Il s'agit du
champ film_genre. Puis, elle attend l'énumération des potentielles valeurs correspondantes. Il s'agit des genres de films en textes. Ainsi, en fonction du numéro pour l'enregistrement en cours d'analyse, la
fonction Choisir retournera la traduction correspondante en toutes lettres.
- Fermer la table T_Films en cliquant sur la croix de son onglet,
- En haut de la fenêtre Access, cliquer sur l'onglet Créer pour activer son ruban,
- Dans la section Requêtes du ruban, cliquer sur le bouton Création de requête,
- Dans la boîte de dialogue qui suit, sélectionner la table T_Films,
- Dès lors, cliquer sur le bouton Ajouter puis sur le bouton Fermer,
- Dans la représentation de la table, sélectionner les champs film_titre et film_genre,
- Les glisser ensuite sur la grille de requête,
A ce stade, si nous exécutions cette
requête, elle ne ferait rien d'autre que de restituer à l'identique les informations contenues dans la
table T_Films, à l'exception de la clé primaire puisque son champ n'a pas été intégré.
- A droite du champ film_genre, créer le champ calculé suivant :
desc_genre:Choisir([film_genre]; 'SF'; 'Thriller'; 'Comédie'; 'Frayeur')
Nous nommons ce nouveau
champ desc_genre. Comme le veut la
syntaxe Access, le nom d'un
champ calculé doit être suivi du symbole deux points (:). Ensuite, nous faisons agir la
fonction Choisir sur le
champ numérique film_genre. En fonction de la valeur contenue dans ce champ, la fonction va choisir la traduction textuelle située à la position du numéro retourné.
- Enregistrer la requête (CTRL + S) sous le nom R_Films,
- Cliquer alors sur le bouton Exécuter tout à fait à gauche du ruban Créer,
Nous affichons ainsi les résultats de la
requête en mode
feuille de données.
Et comme vous pouvez le voir, grâce à la
fonction Choisir, tous les genres de films apparaissent désormais dans une version textuelle explicite. Et il est très important de comprendre que ces traductions sont calculées. Elles ne sont pas stockées.