Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Réinitialiser les cases à cocher à la fermeture
Dans une précédente
astuce Access, nous avons vu comment comptabiliser les enregistrements sélectionnés sur un
formulaire. Pour cela, il nous avait suffi de faire la somme des
cases cochées. Mais ces cases conservent leur état puisque qu'il s'agit d'un
champ de type Oui/Non, dont la valeur est forcément mémorisée dans la table d'origine. Avec cette nouvelle
astuce, nous allons comprendre comment réinitialiser ces états à la fermeture du
formulaire Access.
Base de données source
Pour l'étude de cette
astuce, nous avons besoin de récupérer les travaux amorcés jusqu'alors.
- Télécharger le fichier corriger-donnees.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,
- 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,
Toutes les activités de sorties correspondantes sont instantanément extraites dans la partie inférieure du
formulaire. Chaque
enregistrement est accompagné d'une
case à cocher en bout de ligne.
- Cliquer tour à tour sur certaines d'entre elles,
Aussitôt les cases se cochent et les enregistrements apparaissent sélectionnés. Et à ce titre, vous notez l'actualisation des informations de synthèse dans les deux zones de texte situées à droite des
listes déroulantes. Toutes ces articulations ont été rendues possibles grâce aux travaux aboutis par le biais des
astuces précédentes.
- Choisir un autre département avec la première liste déroulante,
D'autres activités concordantes sont extraites et aucune case n'apparaît cochée.
- Avec la première liste déroulante, choisir le précédent département,
Nous revenons sur l'ancienne vue et l'état coché des cases a bien été mémorisé. Il en va de même si vous fermez le
formulaire, que vous le rouvrez et sélectionnez une fois encore ce même département. Nous l'avons dit, cet état est stocké dans la
table. Vous pouvez le constater en affichant le contenu de la
table t_sorties.
Requête d'actualisation
Nous devons premièrement construire une
requête de mise à jour. Son rôle est simple. Il consiste à décocher toutes les
cases cochées. Il suffit simplement d'inscrire la valeur
Faux dans le
champ s_sel lorsque sa case est cochée, donc lorsque que sa valeur est calée sur
Vrai.
- En haut de la fenêtre Access, cliquer sur l'onglet Créer pour activer son ruban,
- Dans la section Requêtes du ruban, cliquer sur le bouton Création de requête,
Une boîte de dialogue apparaît. La
table t_sorties est sélectionnée par défaut. Il s'agit en effet de l'unique
table de cette petite
base de données.
- Cliquer sur le bouton Ajouter puis sur le bouton Fermer,
Nous ajoutons ainsi la
table t_sorties dans l'
éditeur de requête. Elle apparaît dans sa vue schématisée avec l'énumération de ses champs.
- Double cliquer sur le champ s_sel pour l'ajouter sur la grille de requête,
- Dans le ruban contextuel Créer, cliquer sur le bouton Mise à jour,
Nous transformons ainsi la requête sélection en requête d'actualisation des données. Et à ce titre, vous voyez apparaître la ligne
Mise à jour dans la grille de requête.
- Dans cette zone Mise à jour pour le champ s_sel, taper la valeur : Faux,
- Dans la zone Critères du même champ, taper la valeur booléenne : Vrai,
Ainsi nous intimons de décocher uniquement les cases dont l'état est coché.
- Enregistrer la requête sous le nom r_actualiser,
Elle apparaît désormais listée dans le volet de navigation sur la gauche de l'écran.
Exécuter la requête à la fermeture
Comme nous l'avons dit, cette
requête doit être exécutée à la
fermeture du formulaire afin de réinitialiser l'état de toutes les cases dans la
table source. C'est donc une
action de macro qui doit être déclenchée sur cet événement bien précis.
- Fermer la requête en cliquant sur la croix de son onglet,
- De retour sur le formulaire, cliquer sur la flèche du bouton Affichage dans le ruban Accueil,
- Dans la liste des propositions, choisir le mode création,
Nous basculons ainsi dans la vue en conception du
formulaire. L'objet parent, soit le
formulaire lui-même, est sélectionné par défaut. C'est la raison pour laquelle la
feuille de Propriétés liste tous ses attributs.
- Activer l'onglet Evénement de sa feuille de propriétés,
- Cliquer dans la zone de son événement Sur fermeture pour l'activer,
- Cliquer alors sur le petit bouton qui se propose à son extrémité droite,
- Dans la boîte de dialogue qui suit, choisir le Générateur de macro et cliquer sur Ok,
Nous sommes ainsi redirigés dans l'
éditeur de macro Access.
- Dans le ruban Création, cliquer sur le bouton Afficher toutes les actions,
Ainsi, nous rendons disponible l'intégralité de la bibliothèque d'actions. L'une de celles dont nous avons besoin n'est en effet pas proposée par défaut.
- Dans l'éditeur de macro, déployer la liste déroulante,
- Choisir l'action Avertissements,
Par défaut, son
attribut Avertissements actifs est réglé sur Non. Grâce à lui, nous allons pouvoir maintenant exécuter la
requête de mise à jour en toute transparence. En d'autres termes, aucune alerte ne sera déclenchée pour demander à l'utilisateur de confirmer.
- Avec la liste déroulante du dessous, choisir l'action OuvrirRequête,
- Dans la zone Nom de la requête, choisir la requête r_actualiser,
Les autres attributs ne sont pas utiles à régler. Une
requête mise à jour se déclenche sans apparaître.
- Dans le ruban Création, cliquer sur le bouton Enregistrer puis sur le bouton Fermer,
- De retour sur le formulaire, l'enregistrer à son tour avec le raccourci clavier CTRL + S,
- Puis, l'exécuter avec la touche F5 du clavier par exemple,
- Sélectionner un département différent des précédents,
- Cocher quelques cases puis revenir sur l'un des départements choisis en début d'astuce,
Certaines cases sont bel et bien cochées. Si vous revenez sur le département fraîchement utilisé, vous constatez de même que l'état des cases est mémorisé.
- Fermer le formulaire en cliquant sur la croix de son onglet,
- Puis, le rouvrir en double cliquant sur son nom dans le volet de navigation,
- Choisir le dernier département exploité à l'aide de la première liste déroulante,
Comme vous pouvez le voir, toutes les cases ont été réinitialisées. Plus aucune d'entre elles n'est cochée. Il en va de même si vous basculez sur les autres départements exploités au cours de la démonstration de cette
astuce.