formateur informatique

Ajuster automatiquement les lignes d'un état au contenu

Accueil  >  Bureautique  >  Access  >  Access Astuces  >  Ajuster automatiquement les lignes d'un état au contenu
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Inscription Newsletter
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.

Lignes automatiquement adaptées en hauteur dans état Access en fonction du contenu à afficher

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.

Descriptifs sur plusieurs lignes dans formulaire Access

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.

Descriptifs tronqués dans état Access car lignes pas assez hautes

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.

Augmenter la hauteur des zones de texte sur un état Access

Mais bien sûr un problème se pose à l'exécution.

Zones de texte trop hautes et trop grandes sur état Access

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,
Régler une zone de texte auto-extensible pour ajuster sa hauteur au contenu sur un état Access

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,


Hauteurs des zones de texte auto-ajustées au contenu sur un état Access

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.

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn