formateur informatique

Extraire le détail de l'enregistrement sélectionné

Accueil  >  Bureautique  >  Access  >  Access Astuces  >  Extraire le détail de l'enregistrement sélectionné
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Abonner  Youtube    Vidos astuces Instagram
Sujets que vous pourriez aussi aimer :


Importer des données au clic

Avec les astuces précédentes, nous avons appris à filtrer les enregistrements sur un formulaire tabulaire, en fonction de choix recoupés. Nous avons aussi appris à mettre automatiquement en surbrillance la ligne de l'enregistrement cliqué.

Importer le détail pour enregistrement cliqué sur formulaire tabulaire Access

Ici, nous souhaitons peaufiner cette petite application. Il est question d'importer les informations de détail pour l'enregistrement cliqué. Ces données doivent s'implanter dans des zones de saisie situées juste au-dessus des extractions. Pour une seule ligne en effet, il n'est pas judicieux d'exploiter un sous formulaire.

Source et procédure
Pour poursuivre ces travaux, nous proposons tout d'abord de récupérer la base de données au dernier indice.
  • Télécharger le fichier importer-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,
  • Avec la seconde liste déroulante, choisir une ville,
Comme vous avez pu le voir, à chaque choix, la liste des enregistrements concordants se met directement à jour dans la partie inférieure du formulaire. Et si vous cliquez sur l'un d'entre eux, la ligne complète de l'enregistrement ciblé est mise en valeur sur un fond rouge.

Isoler l'enregistrement cliqué
Désormais et comme nous le disions, nous souhaitons restituer les informations complètes pour l'enregistrement cliqué, dans les zones de saisie placées sous les listes déroulantes. L'astuce est simple étant donnée la configuration de ce formulaire. Il a été construit à partir de la requête r_source. Celle-ci considère tout le niveau de détail et réceptionne les valeurs des listes déroulantes sur le formulaire pour émettre les critères.

L'une des possibilités consiste à bâtir une nouvelle requête sur cette requête r_source. Son rôle est d'isoler la ligne de l'enregistrement cliqué par correspondance avec l'identifiant s_id actif sur le formulaire. Nous n'aurons plus qu'à piocher dedans, pour chaque champ à importer, grâce à la fonction Access RechDom.
  • 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,
  • Dans la boîte de dialogue qui suit, activer l'onglet Requêtes,
  • Sélectionner la requête r_source,
  • Puis, cliquer sur le bouton Ajouter et sur le bouton Fermer,
Créer une requête Access à partir d-une requête existante

La requête apparaît désormais dans se version schématisée avec l'énumération de ses champs.
  • Dans cette représentation, cliquer sur le premier champ s_id,
  • Puis, tout en maintenant la touche MAJ enfoncée, cliquer sur le dernier champ s_act,
De cette manière, nous les sélectionnons tous.
  • Glisser cette sélection sur la grille de requête,
Ajouter tous les champs sur la grille de requête Access

Ainsi, nous incluons tous les champs dans la restitution. En effet, nous souhaitons importer tout le niveau de détail dans les zones de saisie du formulaire. Nous devons désormais créer l'expression de correspondance pour isoler uniquement l'enregistrement cliqué par l'utilisateur depuis le formulaire. Cette correspondance doit s'établir sur le champ de la clé primaire, soit le champ s_id.
  • Cliquer droit dans la zone Critères du champ s_id,
  • Dans le menu contextuel, choisir la commande Créer,
  • Dans la liste de gauche du générateur d'expression, déployer l'arborescence des formulaires,
  • Cliquer alors sur le formulaire f_source pour le sélectionner,
  • Dans la liste du centre, double cliquer sur le champ s_id,
Expression de correspondance entre requête et formulaire Access pour récupérer identifiant pour enregistrement cliqué

De fait, l'expression de liaison s'inscrit automatiquement dans la partie supérieure du formulaire :

Formulaires![f_source]![s_id]
  • Cliquer sur le bouton Ok du générateur d'expression pour la valider,
  • Enregistrer la requête (CTRL + S) sous le nom : r_cor,
  • Cliquer sur la croix de son onglet pour la fermer,
  • Puis, revenir sur le formulaire en mode Création,
Récolter les données
Maintenant, nous devons aller piocher l'information de champ correspondante dans cette requête, pour chaque zone de saisie. Et comme nous le disions, l'astuce consiste à exploiter la fonction Access RechDom.
  • Sélectionner la première zone de saisie,
En consultant sa feuille de propriétés, vous remarquez qu'elle se nomme la_des.
  • Activer l'onglet Données de sa feuille de propriétés,
  • Dans sa propriété Source contrôle, saisir la syntaxe suivante : =RechDom("[s_rs]";"r_cor"),
  • Puis valider par la touche Entrée du clavier,
Très simplement, nous réalisons l'extraction contenue dans le champ s_rs de la requête r_cor. Le critère facultatif en troisième argument est ignoré pour une raison évidente. Telle que nous l'avons conçue, la requête r_cor isole un enregistrement. Nous pointons donc naturellement dessus.

Nous n'avons plus qu'à répliquer ce principe dans la propriété Source contrôle, en adaptant le nom du champ pointé, pour les autres zones de texte.

Pour la zone le_dep : =RechDom("[s_dep]";"r_cor"),
Pour la zone la_ville : =RechDom("[s_ville]";"r_cor"),
Pour la zone l_act : =RechDom("[s_act]";"r_cor"),
  • Enregistrer les modifications (CTRL + S) et exécuter le formulaire (F5),
  • Avec la première liste déroulante, choisir un département,
  • Puis, cliquer tour à tour sur des lignes d'enregistrements extraits,
Récupérer les informations de l-enregistrement cliqué dans des zones de texte sur un formulaire Access

Comme vous pouvez le voir, en même temps que l'enregistrement est surligné, ses informations détaillées apparaissent dans la partie haute du formulaire. Nous découvrons donc la ville associée à l'activité. Cette technique est d'autant plus intéressante si l'extraction ne propose que quelques informations de champs alors que la table d'origine est composée de nombreuses colonnes de détail à restituer ainsi, sur demande.

 
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