Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
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.
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,
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.
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,
Lorsque la ville compte plus d'une activité, l'accord est réalisé. Dans le cas contraire, l'indication assemblée reste au singulier.