Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Ouvrir un formulaire sur un enregistrement précis
Cette nouvelle
astuce Access montre comment ouvrir un
formulaire sur un
enregistrement précisément désigné depuis un
autre formulaire.
Dans l'exemple illustré par la capture, nous consultons les informations sommaires des commerciaux d'une entreprise. Ils sont énumérés dans un
formulaire tabulaire. L'utilisateur doit pouvoir cliquer sur la ligne de l'un d'entre eux pour le sélectionner explicitement. Dès lors, au clic sur le
bouton Détail, un autre
formulaire doit surgir. Et la mission de ce dernier est d'afficher précisément le commercial désigné, avec toutes ses informations attachées cette fois.
Source et procédure
Pour la mise en place de ces travaux, nous proposons de récupérer une
base de données existante, confectionnée au fil des précédentes
astuces.
- Télécharger le fichier formulaire-destination.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_tab,
Nous l'affichons ainsi en mode exécution. C'est lui qui liste tous les commerciaux dans une vue tabulaire. L'utilisateur doit pouvoir cliquer sur l'une des lignes pour désigner l'un de ces commerciaux. Dès lors, un clic sur un bouton doit ouvrir le
formulaire f_com pour l'isoler et le détailler. Le
bouton Détail n'existe pas encore. Nous devons le créer et le placer à gauche du
bouton Fermer.
- Fermer le formulaire f_tab en cliquant sur la croix de son onglet,
- Dans le volet de navigation, double cliquer sur le formulaire f_com pour l'exécuter,
Comme vous pouvez le voir, dans sa version classique, ce
formulaire affiche chaque commercial indépendamment avec toutes ses informations. Pour les consulter tous, il faut les faire défiler avec les
boutons de la barre de navigation personnalisée que nous avons construite à l'occasion de la précédente
astuce.
L'enjeu est donc de pouvoir déboucher sur ce
formulaire en isolant les informations du commercial sélectionné depuis le
formulaire f_tab.
Bouton de correspondance
L'
astuce consiste à exploiter l'
assistant Access lors de la création d'un
bouton. Celui-ci va nous permettre de définir le
formulaire à atteindre. Mais il va surtout nous permettre de spécifier l'emplacement précis à rejoindre par correspondance entre les
clés primaires. C'est ce que l'on appelle une
clause Where.
- Fermer le formulaire f_com en cliquant sur la croix de son onglet,
- Dans le volet de navigation, cliquer droit sur le formulaire f_tab,
- Dans le menu contextuel, choisir le mode création,
- Dans le ruban contextuel Création, cliquer sur le contrôle Bouton pour le sélectionner,
- Le tracer dans le rectangle grisé à gauche du bouton Fermer,
- Dans l'assistant qui se déclenche, choisir la catégorie Opérations sur formulaire,
- Dans la liste de droite, choisir l'action Ouvrir un formulaire,
- Cliquer alors sur le bouton Suivant en bas de la boîte de dialogue,
- Dans cette nouvelle étape, désigner le formulaire f_com comme le formulaire à atteindre,
- Cliquer de nouveau sur le bouton Suivant en bas de la boîte de dialogue,
- Dans cette étape, cocher la première case,
C'est elle qui va nous permettre de définir l'enregistrement à faire correspondre avec celui de la ligne cliquée depuis le
formulaire f_tab. Si nous avions coché la seconde case, nous aurions affiché le
formulaire f_com dans sa version classique, celle qui énumère tous les enregistrements indépendamment, soit tous les commerciaux un à un.
- Cliquer encore sur le bouton Suivant en bas de la boîte de dialogue,
Nous accédons à l'étape cruciale.
- Dans la liste de gauche, cliquer sur le champ de la clé primaire com_id,
- Dans la liste de droite, cliquer sur le champ de la clé primaire com_id,
- Puis, cliquer sur le bouton de liaison à la double flèche au centre de la boîte de dialogue,
C'est ainsi que nous exprimons la correspondance. Nous effectuons le lien entre le
champ com_id de l'enregistrement sélectionné sur le
formulaire f_tab pour rejoindre exactement le même enregistrement isolé sur le
formulaire f_com.
- Cliquer sur le bouton Suivant en bas de la boîte de dialogue,
- Cocher la case Texte puis saisir l'intitulé Détail,
- Cliquer une dernière fois sur le bouton Suivant en bas de la boîte de dialogue,
- Dans la zone de saisie et sans accents, lui attribuer le nom suivant : Detail,
- Cliquer sur le bouton Terminer pour finaliser la création du bouton,
Le
bouton est prêt et vraisemblablement fonctionnel. Mais à ce stade, il ne s'intègre pas du tout dans la présentation du
formulaire tel que nous l'avons conçu. Nous allons devoir opérer quelques réglages de mise en forme.
- Cliquer sur le bouton Fermer pour le sélectionner,
- En haut de la fenêtre Access, cliquer sur l'onglet Format pour activer son ruban,
- Dans la section Police, cliquer sur le bouton du pinceau pour prélever sa mise en forme,
- Dès lors, cliquer sur le bouton Detail,
Le
bouton Detail récolte bien les attributs de format prédéfinis. Mais il n'en est rien concernant ses dimensions.
- Cliquer sur le bouton Detail pour le sélectionner,
- Activer l'onglet Format de sa feuille de propriétés,
- Saisir la valeur 2,594 dans sa propriété Largeur et la valider par la touche Entrée,
- Saisir la valeur 1,102 dans sa propriété Hauteur et la valider par la touche Entrée,
Il s'agit précisément des dimensions du
bouton Fermer. Ensuite, le ruban Organiser offre toutes les solutions d'ajustement notamment grâce au
bouton Aligner comme nous l'avons démontré à l'occasion d'une
formation sur la conception des formulaires Access.
- Enregistrer les modifications (CTRL + S) et exécuter le formulaire (F5),
- Cliquer sur la ligne de l'un des commerciaux par exemple celui d'identifiant 6,
- Dès lors, cliquer sur le bouton Détail fraichement créé,
Comme vous pouvez le voir, le
formulaire f_com s'affiche aussitôt. Et il effectue bien la liaison puisque qu'il livre le détail de l'enregistrement cliqué depuis le
formulaire f_tab.