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.