Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Résultats extraits dans un autre formulaire
Cette nouvelle
astuce Access montre comment extraire dans un
formulaire indépendant, les enregistrements sélectionnés depuis un premier formulaire.
Dans l'exemple illustré par la capture, nous obtenons une liste restreinte d'activités de sorties. Celles-ci ont été désignées depuis un premier
formulaire à l'aide de
cases à cocher. La vue proposée est ainsi purgée de toutes les données parasites pour une étude ou exploitation confortable.
Base de données source
Pour focaliser notre attention sur l'aboutissement de la solution, nous proposons de récupérer un
formulaire fonctionnel articulé par de nombreuses
astuces que nous avons démontrées dans les volets précédents.
- Télécharger le fichier extraire-selection.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'activer,
- Avec la première liste déroulante, choisir un département,
Comme vous pouvez le voir, toutes les activités de sorties concordantes sont aussitôt extraites dans le
formulaire. Chaque enregistrement est accompagné d'une
case à cocher en bout de ligne.
- Cocher quelques-unes de ces cases,
- Puis, changer de département avec la première liste déroulante,
Les nouvelles activités concordantes sont instantanément extraites. Elles sont toujours accompagnées d'une
case à cocher par ligne.
- Comme précédemment, cocher quelques-unes de ces cases,
- Puis, revenir sur le département précédent,
Vous constatez que les précédents choix sont toujours mémorisés. Cette
case à cocher est un
champ de type Oui/Non. Chaque clic sur une case inscrit la valeur booléenne correspondante dans la table source pour l'enregistrement désigné.
Désormais, un clic sur le
bouton Extraire, situé en haut à droite du
formulaire, doit isoler tous les enregistrements sélectionnés, quels que soient les départements et villes concernés. Cette extraction doit être produite dans un autre
formulaire.
Requête de correspondance
La première étape du développement consiste à créer une
requête de sélection. Son rôle est d'isoler tous les enregistrements pour lesquels la case est cochée. Nous obtiendrons donc une sélection conforme avec le panier composé par l'utilisateur au travers du
formulaire. Nous devrons ensuite exploiter cette
requête comme
source de données du
formulaire d'extraction. Enfin, nous devrons commander l'ouverture de ce dernier, par
action de macro au clic sur le
bouton Extraire du premier
formulaire.
- 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 puisqu'il s'agit de l'unique
table de cette
base de données.
- Cliquer sur le bouton Ajouter puis sur le bouton Fermer,
Nous l'intégrons ainsi dans l'
éditeur de requête. Elle apparaît dans sa version schématisée avec l'énumération de ses champs.
- Cliquer sur le deuxième champ nommé s_rs pour le désigner,
- Tout en maintenant la touche Maj enfoncée, cliquer sur le dernier nommé s_sel,
Cette technique permet de regrouper dans une même sélection tous les champs compris entre le premier désigné et le dernier.
- Glisser cette sélection vers le bas sur la grille de requête,
Aussitôt le bouton de la souris est-il relâché que tous les champs y apparaissent listés en colonne.
- Dans la zone Critères du champ s_sel, saisir la valeur Vrai,
Une
case à cocher est un
champ de type Oui/Non comme nous l'avons dit. Il ne peut prendre que deux valeurs : Vrai pour une case cochée et Faux pour une case décochée.
- Enregistrer la requête (CTRL + S) sous le nom r_sel,
Elle apparaît aussitôt dans le volet de navigation sur la gauche de l'écran.
- A gauche du ruban contextuel Créer, cliquer sur le bouton Exécuter,
Comme vous le constatez, toutes les activités sélectionnées lors des précédents essais, sont parfaitement isolées du reste des enregistrements. C'est cette
source de données dynamique qui doit nourrir le
formulaire à appeler au clic sur le
bouton Extraire.
Formulaire d'extraction
Le
formulaire à construire doit donc être bâti sur la
requête r_sel. Et pour que toutes les activités sélectionnées soient listées les unes en dessous des autres, nous devons bâtir un
formulaire tabulaire.
- Fermer la requête en cliquant sur la croix de son onglet,
- En haut de la fenêtre Access, cliquer sur l'onglet Créer pour activer son ruban,
- Dans la section Formulaires du ruban, cliquer sur le bouton Assistant formulaire,
- Dans la boîte de dialogue qui suit, sélectionner la requête r_sel avec la liste déroulante,
- Puis, cliquer sur le bouton à la double flèche pour intégrer tous ses champs,
- Cliquer sur le bouton Suivant en bas de la boîte de dialogue,
- Dans cette nouvelle étape, cocher la case Tabulaire,
- Puis, cliquer de nouveau sur le bouton Suivant,
- Dans la zone de saisie, nommer le formulaire f_sel,
- Puis, cliquer sur le bouton Terminer,
Le
formulaire apparaît restituant en effet tous les enregistrements précédemment sélectionnés. Sa présentation laisse pour l'instant à désirer.
- A 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. Nous ne reviendrons pas en détail sur les notions qui consistent à organiser la
mise en page d'un formulaire Access. Il conviendrait néanmoins de changer la couleur de fond de l'entête pour le faire ressortir. Un titre serait judicieux. De même, il serait intéressant d'annuler les contours des contrôles de la zone Détail ainsi que la couleur de fond pour plus d'harmonie. Le
sélecteur du formulaire peut être masqué.
Les zones méritent d'être ajustées en largeur selon les contenus qu'elles sont susceptibles d'accueillir.
Déclencher l'ouverture du formulaire lié
Maintenant que toutes les correspondances sont établies, nous devons afficher le panier de l'utilisateur en commandant l'
ouverture de ce formulaire au clic sur le
bouton Extraire du premier
formulaire. Pour cela, une simple
action de macro associée à l'
événement Au Clic du bouton suffit.
- Revenir sur le premier formulaire en mode création,
- Cliquer sur le bouton Extraire pour le sélectionner,
- Activer l'onglet Evénement de sa feuille de propriétés,
- Cliquer sur le petit bouton à l'extrémité droite de son événement Au clic,
- Dans la boîte de dialogue, choisir Générateur de macro et valider par Ok,
- Dans l'éditeur de macro, déployer la liste déroulante des actions,
- Dans les propositions, choisir l'action OuvrirFormulaire,
- Dans la zone Nom de formulaire, désigner le formulaire f_sel,
- Dans la zone Mode Fenêtre, choisir l'option Boîte de dialogue,
Grâce à ce réglage, le
formulaire d'extraction apparaîtra dans une fenêtre indépendante et non dans un nouvel onglet. Nous pourrons donc déplacer et positionner les résultats à notre guise.
- Dans le ruban Création, cliquer sur le bouton Enregistrer puis sur le bouton Fermer,
- De retour sur le formulaire, l'enregistrer à son tour,
- Puis, l'exécuter avec la touche F5 du clavier,
- Avec la première liste déroulante, choisir un nouveau département,
- Cocher quelques cases d'activités de sorties,
- Puis, cliquer sur le bouton Extraire,
Nous obtenons bien une vue du panier de sorties correspondant à tous les choix réalisés par l'utilisateur jusqu'alors. Le formulaire d'extraction peut être déplacé à notre guise. Nous pourrions archiver ces résultats dans une table annexe à l'aide d'une simple requête Ajout à l'ouverture de ce second formulaire.