Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Etats - Zones extensibles
Nous le savons, les
états Access sont une vue figée à l'instant T des données issues de la
base de données. Mais tous les
champs ne possèdent pas la même densité d'informations selon les
enregistrements. Et dans ces conditions, il est important que les
champs de l'état puissent adapter leurs dimensions automatiquement afin de garantir une restitution complète des données.
Dans l'exemple illustré par la capture, nous pouvons observer le changement de structure opéré dès lors que le contenu du descriptif s'amenuise. La hauteur de l'enregistrement s'ajuste automatiquement en fonction du nombre de lignes à afficher.
Base de données source
Pour démontrer cette nouvelle
astuce Access, nous proposons de récupérer une base de données offrant cet état dans sa version classique.
En consultant le
volet de navigation, vous constatez la présence de trois
tables, d'un
formulaire et d'un
état. Le
formulaire et l'
état ont été construits à partir de la
table Produits.
- Dans ce volet de navigation, double cliquer sur le formulaire F_Produits,
Nous l'affichons ainsi en
mode Formulaire. Il n'a pas été travaillé. Sa mise en page et sa présentation sont livrées dans une version on ne peut plus classique. Ce n'est en effet pas la vocation de la découverte au travers de cette nouvelle
astuce. Il énumère des articles vestimentaires à la vente. Dans les deux derniers champs, vous notez la présence de deux
listes déroulantes à choix multiples. Nous avions appris à les construire à l'occasion d'une précédente
astuce. Cette remarque est loin d'être anodine car elles ont un impact sur l'
énumération des enregistrements dans un
état. Et nous le comprendrons très vite.
Tournons-nous désormais vers la partie qui nous intéresse pour ce sujet. Le
champ de la deuxième colonne est nommé
produit_nom. Et comme vous pouvez le voir, selon les
enregistrements, la densité d'information varie. Les deux premières désignations sont décrites sur plusieurs lignes tandis qu'une seule suffit pour les suivantes.
Et dans cette vue, les lignes multiples ne sont pas forcément toutes visibles par défaut. Pour le constater, il suffit de cliquer dans le
champ produit_nom du premier ou du deuxième
enregistrement. Ils sont en réalité décrits sur trois lignes.
- Fermer le formulaire en cliquant sur la croix de son onglet,
- Dans le volet de navigation, double cliquer sur l'état E_Produits,
Comme vous pouvez le voir, toutes les lignes ont la même
hauteur. Et cette hauteur est calée sur les
enregistrements pour lesquels ce
champ produit_nom possède la plus petite taille. De fait, certains descriptifs sont tronqués.
De plus, une même référence est répétée à de nombreuses reprises. C'est le phénomène que nous annoncions, impacté par ces
listes déroulantes à choix multiples. D'une seule ligne,
Access en crée des
enregistrements uniques pour différencier chaque taille et chaque coloris. L'
état a naturellement créé les
champs produit_couleur.Value et
produit_taille.Value pour produire ces différenciations. Si vous souhaitez un
état avec une référence unique et l'énumération de ses attributs sur la même ligne, comme pour le
formulaire, il suffit de supprimer ces deux champs en
mode conception de l'état.
Ajuster automatiquement les zones au contenu
Pour rendre visible les contenus tronqués, la première idée qui nous vient à l'esprit est d'augmenter la hauteur du
champ produit_nom en
mode conception du formulaire.
Mais bien sûr un problème se pose à l'exécution.
Certes, les contenus tronqués apparaissent désormais. Mais les lignes des contenus faibles sont désormais démesurées en hauteur. Il s'agit notamment d'une perte de place mais aussi d'un rendu disgracieux.
Si vous avez tenté ces modifications de structure, il convient de revenir en arrière pour retrouver l'état d'origine avant de mettre en place l'
astuce qui solutionne le problème.
- Revenir en mode conception de l'état,
- Cliquer sur la zone de texte produit_nom pour la sélectionner,
- Dès lors, activer l'onglet Format de sa feuille de propriétés,
- Cliquer sur le petit bouton de tri alphabétique (AZ) en haut à droite de la feuille de propriétés,
- Puis, double cliquer sur la valeur Non de l'attribut Auto extensible,
Cette
propriété parle d'elle-même. En basculant sa valeur à Oui, nous l'autorisons à s'ajuster en hauteur pour accueillir l'intégralité du contenu prévu dans le
champ d'origine. Mais ce n'est pas tout et nous allons le constater.
- Enregistrer les modifications (CTRL + S),
- A gauche du ruban Accueil, cliquer sur la flèche du bouton Affichage,
- Dans la liste des propositions, choisir le mode Etat,
- Faire défiler les enregistrements vers le bas jusqu'à visualiser la cassure,
Comme vous le constatez, ces zones de texte s'ajustent automatiquement en
hauteur pour recevoir les contenus les plus riches. Mais dans le même temps, elles conservent leurs dimensions d'origine lorsque c'est nécessaire pour ne pas nuire à la présentation. Voilà donc une
astuce Access fort intéressante pour automatiser certains aspects de mise en page dans les états.