formateur informatique

Compter les lignes cochées sur un formulaire Access

Accueil  >  Bureautique  >  Access  >  Access Astuces  >  Compter les lignes cochées 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 sélectionnés

Cette nouvelle astuce propose de montrer avec quelle facilité il est possible de compter les lignes sélectionnées sur un formulaire Access.

Comptabiliser les enregistrements cochés sur un formulaire Access

Sur l'exemple illustré par la capture, l'utilisateur coche les activités de sorties qu'il souhaite mémoriser. Aussitôt, des informations de synthèse s'actualisent dans des zones de texte placées dans la partie supérieure du formulaire. Elles rendent compte du nombre d'enregistrements sélectionnés et du nombre d'enregistrements restants.



Source et procédure
Pour démontrer cette astuce, nous proposons de récupérer une base de données, fruit de nos travaux précédents.
  • Télécharger le fichier compter-lignes.rar en cliquant sur ce lien,
  • Le décompresser dans le dossier de votre choix,
  • Double cliquer sur le fichier résultant pout l'ouvrir dans Access,
  • Puis, cliquer sur le bouton Activer le contenu du bandeau de sécurité,
  • Dans le volet de navigation, double cliquer sur le formulaire f_source pour l'exécuter,
  • Avec la première liste déroulante, choisir un département,
Comme vous pouvez le voir, les activités de sorties correspondantes sont aussitôt extraites. En bout de ligne, elles sont chacune accompagnées d'une case à cocher. Elles sont le fruit du champ s_sel issu de la table t_sorties. Son type de données est calibré sur Oui/Non, soit une case à cocher. Et bien sûr, ce champ est utilisé par la requête r_source qui sert de source de données au formulaire.

Champ de type Oui/Non pour créer des cases à cocher sur le formulaire Access

Si vous cochez ces cases sur le formulaire, elles réagissent parfaitement.

Cases à cocher sur formulaire Access pour compter les enregistrements sélectionnés

Mais bien sûr à ce stade, les deux zones de textes conçues pour les résultats de synthèse restent muettes.



Comptabiliser les lignes sélectionnées
Une case cochée est sanctionnée par la valeur -1 pour Vrai et 0 pour faux, soit décochée. L'idée consiste donc à calculer la valeur absolue de la somme des cases cochées. Nous obtiendrons ainsi le nombre total de lignes sélectionnées parmi les enregistrements filtrés sur le formulaire.
  • A gauche du ruban Accueil, cliquer sur la flèche du bouton Affichage,
  • Dans la liste des propositions, choisir le mode création,
  • Sur le formulaire en conception, cliquer sur la première zone de texte,
Elle est située à droite de la seconde liste déroulante.

La feuille de propriétés est nécessaire pour la suite des opérations. Si elle n'est pas visible dans votre environnement, vous devez cliquer sur le bouton du même nom dans le ruban contextuel Création.

Cette feuille de propriétés indique notamment que cette zone de saisie porte le nom nbSel.
  • Activer l'onglet Données de la feuille de propriétés,
  • Dans la zone Source contrôle, saisir la syntaxe suivante : =-Somme([s_sel]),
Comme nous l'avons expliqué, vous notez la présence du symbole moins (-) en préfixe de l'opération pour transformer cette somme en valeur positive. Et cette addition est naturellement engagée sur le champ s_sel, celui des cases à cocher.
  • Valider la syntaxe à l'aide de la touche Entrée du clavier,
  • Puis, enregistrer les modifications (CTRL + S),
Le processus n'est pas complètement abouti. Pour que les résultats s'actualisent à chaque clic sur une case à cocher, une action de macro est nécessaire. Son rôle est d'actualiser les liaisons et de forcer le recalcul.
  • Cliquer sur le contrôle de la case à cocher pour le sélectionner,
  • Activer l'onglet Evénement de sa feuille de propriétés,
  • Cliquer sur le petit bouton situé à l'extrémité droite de son événement Au clic,
  • Dans la boîte de dialogue qui se propose, choisir le Générateur de macro et valider par Ok,
  • Dans l'éditeur de macro, déployer la liste déroulante des actions,
  • Dans la liste des propositions, choisir l'action AfficherTousEnreg,
  • Dans le ruban Création, cliquer sur le bouton Enregistrer puis sur le bouton Fermer,
  • De retour sur le formulaire, l'enregistrer à son tour pour actualiser la liaison,
  • Dès lors, l'exécuter avec la touche F5 du clavier par exemple,
  • Choisir un département avec la première liste déroulante,
  • Puis, cocher certaines cases des enregistrements filtrés,
Compter les cases cochées sur un formulaire Access

Comme vous le constatez, à chaque clic, le compteur d'enregistrements sélectionnés s'actualise aussitôt. Et si vous changez de département et cochez de nouvelles cases, le compteur ne cumule pas toutes les cases cochées mais seulement celles en vigueur pour le département choisi. Ce fonctionnement s'explique du fait que nous avons bâti le calcul sur le champ s_sel de la requête filtrante r_source. Le résultat livré est donc celui que nous souhaitions.



Compter les lignes non sélectionnées
Désormais, nous souhaitons afficher l'information de synthèse sur les enregistrements restants dans l'autre zone de texte. Le principe est simple. Il consiste à faire la différence entre le nombre total d'enregistrements filtrés et le nombre de lignes cochées. La fonction Compte entre autres permet de totaliser ces données.
  • Revenir sur le formulaire en mode conception,
  • Sélectionner la deuxième zone de texte, placée à droite de la précédente,
  • Activer l'onglet Données de sa feuille de propriétés,
  • Dans sa zone Source contrôle, saisir la syntaxe suivante : =Compte(*) + Somme([s_sel]),
Grâce au symbole de l'astérisque, nous considérons toutes les données. La fonction Compte se charge de les totaliser. Nous ajoutons la valeur négative sur le décompte des lignes sélectionnées. Nous devrions bien obtenir le nombre total d'enregistrements restants.
  • Valider la syntaxe avec la touche Entrée du clavier,
  • Enregistrer le formulaire et l'exécuter,
  • Sélectionner un département avec la première liste déroulante,
  • Puis, cocher et décocher des cases,
Vous notez l'actualisation instantanée des deux compteurs. Et ces résultats sont parfaitement cohérents, puisqu'une fois additionnés, ils livrent la même valeur que celle rappelée sous la première liste déroulante.

Compter les lignes non cochées sur un formulaire Access

Avant de terminer, sachez que comme ces cases sont des champs de la table source, leur empreinte est mémorisée. Donc, à la prochaine ouverture, les cases anciennement cochées conserveront cette apparence. Dans une prochaine astuce, nous verrons comment réinitialiser ces états à la fermeture du formulaire par exemple.

 
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