formateur informatique

Compter les enregistrements filtrés sur un formulaire Access

Accueil  >  Bureautique  >  Access  >  Access Astuces  >  Compter les enregistrements filtrés sur un formulaire Access
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 :


Compter les enregistrements filtrés

Synthétiser le nombre d'enregistrements filtrés sur un formulaire Access est la solution que propose d'apporter cette nouvelle astuce.

Compter les enregistrements filtrés par des critères recoupés sur un formulaire Access

Dans l'exemple finalisé illustré par la capture, nous livrons un résultat de synthèse à droite de la seconde liste déroulante sur le nombre d'enregistrements extraits. Il s'agit d'une petite application que nous développons au fur et à mesure de la découverte de quelques astuces. L'utilisateur peut définir un département avec une première liste déroulante et une ville lui appartenant à l'aide d'une seconde liste. Et aussitôt, les résultats s'actualisent dans le formulaire sur ces critères recoupés. Dans le même temps, l'indication de synthèse sur le dénombrement se met à jour.



Source et procédure
Pour poursuivre ces travaux et découvrir cette nouvelle astuce, nous proposons de récupérer la base de données au dernier indice.
  • Télécharger le fichier compter-enregistrements.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,
  • Puis, cliquer sur le bouton Activer le contenu du bandeau de sécurité,
  • Dans le volet de navigation sur la gauche de l'écran, double cliquer sur le formulaire f_source,
  • Avec la première liste déroulante, choisir un département,
Instantanément, toutes les activités de sorties concordantes, issues de la table t_sorties apparaissent dans le formulaire.
  • Avec la seconde liste déroulante, choisir une ville associée,
Aussitôt, l'extraction s'affine sur le formulaire pour n'afficher que les activités de sorties correspondant aux deux choix recoupés par les listes déroulantes. Si vous cliquez sur la ligne de l'un des enregistrements, celui-ci est instantanément mis en valeur sur un fond rouge foncé avec une couleur de police claire. Il s'agit des solutions que nous avons abouties à l'occasion de la découverte des astuces précédentes.

Ce formulaire réagit dynamiquement car il est construit sur la requête r_source. Si vous l'ouvrez en mode création, vous constatez en effet que deux critères sont posés sur les champs respectifs s_dep et s_Ville. Ils récupèrent les choix opérés dans les listes déroulantes pour filtrer les enregistrements de la table et les restituer sur le formulaire.



Ergonomie du formulaire
A titre d'astuce et pour plus d'ergonomie, nous souhaitons tout d'abord éliminer certaines fioritures, comme par exemple le sélecteur sur la gauche du formulaire ou encore la petite barre de navigation en bas de ce dernier.
  • Tout à fait à 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 du formulaire. En haut de ce formulaire, à droite de la seconde liste déroulante, vous notez la présence d'une zone de texte, vide pour l'instant. C'est elle qui doit accueillir notre calcul de synthèse. Nous y reviendrons très vite.

Ce formulaire est sélectionné par défaut. La zone de titre de la feuille de propriétés en atteste. Dans cette feuille de propriétés, l'onglet Format doit être activé.
  • Régler la propriété Barre défilement sur verticale,
  • Régler la propriété Afficher sélecteur sur non,
  • Enfin, régler la propriété Boutons de déplacement sur Non,
Propriétés ergonomiques du formulaire Access pour masquer la barre de navigation et le sélecteur

Nous devrions gagner en espace pour une présentation plus sobre.
  • Enregistrer les modifications (CTRL + S) puis exécuter le formulaire (F5),
Comme vous pouvez le voir, l'espace est épuré. Le sélecteur a disparu ainsi que la futile barre de navigation dans le cas d'un formulaire tabulaire. Désormais, les enregistrements extraits occupent tout l'espace disponible. Nous allons donc pouvoir nous concentrer sur le résultat de synthèse à fournir dans la zone de texte prévue à cet effet, dans la partie supérieure du formulaire.
  • A gauche du ruban Accueil, cliquer sur la flèche du bouton Affichage,
  • Puis choisir le mode Création dans la liste des propositions,


Compter les enregistrements filtrés
Nous devons donc produire le résultat de synthèse sur le nombre d'enregistrements concordants et l'afficher dans la partie supérieure du formulaire. Nous connaissons déjà les fonctions RechDom et MaxDom. Elles s'implémentent de la même façon. La première permet d'extraire une information de base de données selon le nom d'un champ fourni en premier paramètre et sa table en second argument. Il est même possible d'émettre un critère en troisième paramètre facultatif. Selon les mêmes arguments, la fonction MaxDom permet d'extraire la dernière information de champ ou plutôt la plus grande. La fonction qui nous intéresse désormais se nomme CpteDom. Elle raisonne strictement de la même façon. Mais elle permet de dénombrer les enregistrements concordants selon un critère facultatif à émettre. Les critères sont déjà posés dans la requête servant de source au formulaire tabulaire. Ils dépendent des choix émis par le biais des listes déroulantes. Il ne nous reste donc plus qu'à compter les enregistrements résultants en exerçant l'analyse sur le champ s_id de la clé primaire par exemple.
  • Sur le formulaire, sélectionner la zone de texte située à droite de la seconde liste déroulante,
En consultant sa feuille de propriétés, vous constatez qu'elle est nommée Compte.
  • Activer l'onglet Données de sa feuille de propriétés,
  • Dans la zone Source contrôle, saisir la syntaxe suivante :
=CpteDom("[s_id]";"r_source") & " enregistrements concordants"

Nous actionnons la fonction CpteDom sur le champ s_id de la requête r_source. Elle compte ainsi les enregistrements filtrés par les critères émis à l'aide des listes déroulantes. A ce résultat, nous associons par concaténation un texte explicatif.
  • Enregistrer les modifications (CTRL + S) et exécuter le formulaire (F5),
  • Choisir un département avec la première liste déroulante et une ville avec la seconde,
A chaque choix, en même temps que les enregistrements filtrés sont extraits, vous constatez l'actualisation avec succès de l'information de synthèse.

Défaut accord grammatical sur le décompte des enregistrements filtrés sur le formulaire Access

En revanche, une anomalie existe lorsque la ville choisie ne compte qu'une seule activité de sortie. L'expression devrait être accordée au singulier. Nous avions montré la voie à l'occasion de la formation Access pour respecter les accords. L'astuce consiste à exploiter la fonction Access VraiFaux. Il s'agit de l'équivalent de la fonction Excel conditionnelle SI. Si le résultat du décompte est supérieur à 1, l'expression associée doit apparaitre au pluriel. Le cas échéant elle doit être affichée au singulier.
  • Revenir dans la vue en conception du formulaire,
  • Sélectionner la zone de texte nommée Compte,
  • Dans sa feuille de propriétés, adapter la syntaxe de la zone Source contrôle comme suit :
=VraiFaux(CpteDom("[s_id]";"r_source")>1; CpteDom("[s_id]";"r_source") & " enregistrements concordants"; CpteDom("[s_id]";"r_source") & "enregistrement concordant")
  • Valider cette syntaxe et enregistrer le formulaire,
  • L'exécuter et choisir un département puis une ville,
Décompte des enregistrements filtrés sur formulaire Access avec Accord singulier et pluriel

Lorsque la ville compte plus d'une activité, l'accord est réalisé. Dans le cas contraire, l'indication assemblée reste au singulier.

 
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