formateur informatique

Afficher les valeurs distinctes avec une requête Access

Accueil  >  Bureautique  >  Access  >  Access Astuces  >  Afficher les valeurs distinctes avec une requête Access
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    Vidéos astuces Instagram
Sujets que vous pourriez aussi aimer :


Extraire les valeurs uniques

La manipulation, la réorganisation et l'extraction des données est l'affaire d'Access. Il arrive parfois que ces données présentent des redondances lorsqu'elles ont été importées depuis une source externe par exemple. Cette nouvelle astuce montre avec quelle simplicité déroutante il est possible d'éliminer ces doublons pour restituer une vue constituée uniquement des valeurs distinctes.

Source et procédure
Pour les besoins de la démonstration, nous devons travailler à partir d'une source offrant des données redondantes.
  • Télécharger le fichier donnees-distinctes.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, double cliquer sur l'unique table nommée Communes,
Table Access des codes postaux et communes avec de nombreux doublons

Nous l'affichons ainsi en mode Feuille de données. En consultant la barre de navigation en bas de la fenêtre Access, vous constatez que cette table est constituée de 1003 enregistrements, soit a priori de 1003 communes. Mais il n'en est rien en raison de la présence de doublons. Certains codes postaux se répètent en effet. Parfois, ils sont attachés à des villes différentes. Dans ces conditions, il ne s'agit pas de véritables doublons. Mais parfois, ils sont associés à la même ville. Dans ce cas, les redondances sont indiscutables.
  • Fermer la table 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 Requêtes du ruban, cliquer sur le bouton Création de requête,
  • Dans la boîte de dialogue qui suit, cliquer sur le bouton Ajouter puis sur le bouton Fermer,
Ainsi, nous ajoutons la représentation schématisée de la table Communes dans l'éditeur de requête.
  • Dans cette représentation, double cliquer sur le champ Commune_dep,
Ajouter un champ à extraire sur la grille de requête Access

Ainsi, nous l'ajoutons dans la grille de requête. Ses informations sont destinées à être restituées à l'extraction. Ce champ, malgré son nom, ne porte pas des départements mais bien des codes postaux.
  • Enregistrer la requête (CTRL + S) sous le nom r_distinctes par exemple,
  • A gauche dans le ruban contextuel Créer, cliquer sur le bouton Exécuter,
Extraire toutes les valeurs d-un seul champ avec une requête Access

Pour l'instant, nous restituons simplement tous les codes postaux de la table en l'état, soit avec leurs doublons. Et à ce titre, en consultant la barre de navigation en bas de la fenêtre, vous constatez que les enregistrements sont toujours au nombre de 1003.
  • Tout à fait à gauche du ruban Accueil, cliquer sur le bouton Affichage,
Nous revenons ainsi dans la vue en conception de la requête. Pour la suite des opérations, la feuille de propriétés est nécessaire. Elle est généralement placée sur la droite de l'environnement de travail. Si elle n'est pas présente dans votre espace de travail, vous devez cliquer sur le bouton Feuille de propriétés tout à fait à droite du ruban Créer.
  • En dehors de la grille de requête, cliquer sur une zone vide à proximité de la table schématisée,
De cette façon, nous désignons la requête dans sa globalité. De fait, la feuille de propriétés énonce les attributs qui lui sont attachés.
  • Double cliquer sur la valeur Non de sa propriété Valeurs distinctes,
Propriété de requête Access pour extraire uniquement les valeurs distinctes

Nous basculons ainsi son état sur la valeur Oui. Ce simple réglage suffit à éliminer tous les doublons. Rappelez-vous néanmoins que nous oeuvrons pour l'instant sur un seul champ. La paire code postal / ville n'est pas considérée.
  • Enregistrer les modifications( CTRL + S),
  • Puis, cliquer sur le bouton Exécuter à gauche dans le ruban Créer,
Extraire les données sans doublons par requête Access

Comme vous pouvez le voir, nous avons considérablement restreint le nombre d'enregistrements extraits. Grâce au réglage de cette propriété, nous avons réduit leur nombre par trois. Tous les doublons ont disparu. Seuls subsistent les codes postaux uniques. Désormais, nous pourrions donc exploiter cette source de données purgée pour nourrir des listes déroulantes sur un formulaire Access par exemple. Mais comme nous le disions, certaines répétitions sont des faux doublons. Des codes postaux peuvent référencer plusieurs villes.
  • Tout à fait à gauche du ruban Accueil, cliquer sur le bouton Affichage,
  • Double cliquer sur le champ Commune_nom dans la vue schématisée de la table,
Nous l'ajoutons ainsi à la grille de requête avec le champ Commune_dep. Désormais, la clause Distinct devrait donc agir sur cette paire de champs. Et nous proposons de le constater.
  • Enregistrer les modifications (CTRL + S),
  • Puis, cliquer sur le bouton Exécuter à gauche dans le ruban Créer,
Extraire les valeurs uniques sur une paire de champs avec une requête Access

Cette fois l'extraction conduit à 845 enregistrements. Il s'agit d'un résultat en nette hausse et pour cause, de nombreuses villes sont associées à un même code postal. Mais grâce à cette propriété, nous avons bien réussi à extraire les enregistrements uniques sur la paire de champs des codes postaux et des villes. Et pour cela, nous n'avons pas eu besoin d'exploiter le langage Sql.
  • A gauche du ruban Accueil, cliquer sur la flèche du bouton Affichage,
  • Dans la liste, choisir l'option Mode SQL,
Nous basculons ainsi dans l'éditeur SQL traduisant dans sa syntaxe la requête Access que nous avons bâtie grâce à cette astuce :

SELECT DISTINCT Communes.Commune_dep, Communes.Commune_nom FROM Communes;

C'est la clause DISTINCT que nous avions déjà présentée qui permet cette extraction sur l'unicité des enregistrements.

 
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