LES REQUÊTES (SUITE)
Transcription
LES REQUÊTES (SUITE)
LES REQUETES LES REQUÊTES (SUITE) 4. LES OPERATIONS DANS LES REQUETES Après avoir collecté les données dans une feuille de réponses, il est possible de visualiser le résultat ou de l'imprimer. Mais il peut s'avérer utile parfois, d'obtenir en complément des données quantitatives. - Quel est le montant moyen des commandes ? - Combien de clients n'ont pas régularisé leur compte ? - Quel est le montant total des cotisations perçues au premier trimestre ? 4.1. LISTE DES FONCTIONS DISPONIBLES Somme Moyenne Min Max Compte Ecartype Var Premier Dernier Calcule la somme des valeurs d'un champ. Calcule la moyenne des valeurs d'un champ. Détermine la plus petite valeur dans un champ. Détermine la plus grande valeur dans un champ. Calcule le nombre de valeurs non nulles dans un champ. Calcule l'écart-type des valeurs d'un champ. Calcule la variance des valeurs d'un champ. Donne la première valeur d'un champ pour les critères demandés. Donne la dernière valeur d'un champ pour les critères demandés. Page 1 sur 10 LES REQUETES 4.2. CALCUL DE SOMME - Créer la requête avec les tables voulues, - Placer les champs voulus dans la grille d'interrogation, dans la barre d'outils, - Cliquer sur le bouton Opérations Ou - Sélectionner dans le menu AFFICHAGE la commande OPERATIONS. Une ligne supplémentaire apparaît dans la grille d'opération. Elle se nomme Opération et comporte le terme « Regroupement » dans chacun des champs constituant la requête. Chaque cellule de cette ligne dispose d'une liste déroulante comportant tous les types d'opérations. - Choisir le type d'opération à appliquer pour le champ souhaité, - Entrer les critères et les tris nécessaires, - Exécuter la requête. La requête ci-contre affiche le nombre total d'articles en stock pour chaque catégorie de produits. Des en-têtes reprenant les types d'opérations apparaissent sur la feuille des réponses. 4.3. CALCUL DU NOMBRE D'ENREGISTREMENTS L'exemple ci-contre affiche les pays pour lesquels il existe plus de 2 fournisseurs. Page 2 sur 10 LES REQUETES 4.4. UTILISATION DE L'OPERATION OU Lorsque l'on veut regrouper pour obtenir des résultats sur des groupes d'enregistrements, ceux-ci s'effectuent en ligne. Pour que deux enregistrements soient regroupés, il faut que toutes les valeurs des champs affichés dans la requête soient identiques. L'opération OU permet de faire intervenir le champ en tant que champ de critères mais de l'ignorer pour le regroupement. Cette requête calcule pour chaque pays dans lequel des clients ont passé des commandes, le nombre total de commandes et la somme des quantités commandées pour l’année 1996. L’image ci-contre montre un extrait de la feuille de réponse. 4.5. LES CHAMPS CALCULES Il est possible d'afficher dans une feuille de réponse, le résultat de calcul sur des champs présents dans les tables sur lesquelles sont basées la requête en créant des Champs calculés. - Dans la grille de création, sur la ligne Champ d'une colonne vide, - Saisir l'intitulé de la colonne suivi de deux-points (:), - Saisir l'expression de calcul. Si aucun intitulé ne précède la formule, la colonne sera intitulé "Exp N". Page 3 sur 10 LES REQUETES Cette requête affiche dans une colonne intitulée "Employé", le nom et le prénom et dans une colonne "Ancienneté", leur ancienneté calculée en années. Les employés sont triés par ordre alphabétique croissant de leur nom. L'opérateur & est utilisé pour concaténer des chaînes de caractères. La fonction Date() renvoie la date système. La fonction Année appliquée à une date, retourne l'année sur 4 chiffres. Les noms de champ utilisés dans une expression doivent être obligatoirement encadrés par des crochets lorsqu'ils comportent des espaces. 4.6. LES REQUETES PARAMETREES Ces requêtes sont identiques aux précédentes, mais permettent en plus de solliciter des critères de sélection comme paramètres. Cette solution envisageable pour des sélections mais dont une information sélective doit changer. - Créer une requête Sélection, - Sur la ligne Critère du champ, à utiliser en paramètre, entrer un nom de paramètre entre crochets [ ], Le texte mis entre crochets apparaîtra dans une boîte de saisie, il doit donc être suffisamment explicite et indiquer à l'utilisateur quelle donnée saisir. Cette requête permet d'afficher le nombre de commandes pour une ville de livraison précise. Lors de l'exécution ou de l'affichage en mode Feuille de données, une boîte de dialogue s’affiche, sollicitant la valeur du paramètre, Dans la feuille de réponses apparaissent les enregistrements correspondant à la ville de livraison spécifiée. Il est conseillé de définir le type de données attendu dans chaque paramètre pour pouvoir bénéficier du contrôle de la zone par Access. Cette définition se fait par l’option Paramètre de la requête. Page 4 sur 10 LES REQUETES 5. LES TYPES DE REQUETE 5.1. LES REQUETES ACTIONS Les requêtes Action permettent d'effectuer des calculs et des mises à jour sur des enregistrements sélectionnés. L'utilité de telles requêtes sera la création ou la mise à jour rapide de tables. En effet, les requêtes Sélection permettent de visualiser des données, de les modifier éventuellement et ponctuellement. Alors que les requêtes Action modifient automatiquement tous les enregistrements sélectionnés. Une confirmation sera demandée à chaque exécution d'une requête Action. Nous vous conseillons de toujours créer une requête Sélection, puis d'en visualiser les résultats, avant de la transformer en requête action. - Créer d’abord une requête sélection, - Tester la requête, - La transformer ensuite en requête action. Les différents types de requêtes sont identifiables grâce à leur icône dans la liste Base de Données. - REQUETE SELECTION : Affiche les enregistrements dans une feuille - REQUETE CREATION DE TABLE : Permet de générer de nouvelles tables à partir des enregistrements obtenus. - METTRE A JOUR UNE REQUETE : Modifie les données d'un groupe d'enregistrements. - REQUETE AJOUT : Ajoute un groupe d'enregistrements à une table. - SUPPRIMER UNE REQUETE : Supprime les enregistrements d'une ou plusieurs tables. 5.2. CHANGER LE TYPE DE LA REQUETE - Ouvrir la requête en mode Création, - Sélectionner dans le menu REQUETE la commande correspondant au type de requête à créer. Ou - Cliquer sur la liste Type de requête de la barre d'outils. Requête Sélection Requêtes qui interrogent les données enregistrées dans vos tables et renvoient une feuille de réponses dynamiques sous la forme d’une feuille de données. : Attention dès que la d’enregistrements est possible. feuille de réponses Page 5 sur 10 est affichée, toute modification LES REQUETES 5.3. CREATION DE TABLES - Créer la requête de sélection, - Vérifier la validité de la feuille de réponse, - Sélectionner dans le menu REQUETE la commande CREATION DE TABLE, - Compléter la boîte de dialogue « Création de table ». Nom de la nouvelle table Spécifier si la table appartiendra à la base active ou à une autre (Access ou autre logiciel de base de données). Donner le nom du fichier si la table est destinée à une autre base de données Un nom identique à celui d'une table déjà existante, peut être spécifié si l'on souhaite remplacer les données qu’elle contient avec les données issues de la requête. Lors de l'exécution, si la table à créer existe déjà, elle est supprimée puis recréée avec les données actuelles. Une requête Création de table ne reprend pas toutes les caractéristiques de la table d’origine • Ne sont créés dans la nouvelle table que les champs présents dans la grille de requête. • Certaines propriétés des champs sont perdues. Notamment la clef primaire, les listes de choix…. • La nouvelle table n’est bien sur pas connectée au schéma relationnel. Utilisez une requête Création de Table pour : • Créer une table à exporter vers d’autres bases de données Access • Effectuer une copie de sauvegarde d’une table • Créer une table historique contenant des anciens enregistrements • Créer des tables temporaires utiles lors du traitement de formulaire ou d’état basées sur des requêtes multitables. 5.4. REQUETE DE MISE A JOUR Une requête Mettre à jour une requête est utilisée lorsque l’on veut modifier de façon rapide et homogène un groupe d’enregistrements. Une ligne Mise à jour apparaît dans la grille d'interrogation. Entrer sur cette ligne, pour le ou les champs concernés, la nouvelle valeur ou l’expression la produisant. Dans l'exemple, tous les produits dont le prix unitaire est supérieur à 1000 F subiront une augmentation de 10 %. Page 6 sur 10 LES REQUETES 5.5. REQUETE AJOUT Ajoute un groupe d’enregistrements d’une ou plusieurs tables à la fin d’une table - Créer la requête de sélection, - Vérifier la validité de la feuille de réponse, - Sélectionner dans le menu REQUETE la commande AJOUT, Compléter la boîte de dialogue « Ajout ». Une ligne « Ajouter à « Apparaît dans la grille d’interrogation. Les champs de la table sélectionnés sont insérer automatiquement si les noms de champs sont identiques ou choisissez un champ de la table réceptrice.. 5.6. REQUETE DE SUPPRESSION Une requête Supprimer une requête permet de supprimer des enregistrements d’une ou de plusieurs tables liées en fonction de certains critères. - Faire glisser l'astérisque (*) de la table concernée dans la grille d'interrogation et choisir le terme A partir de dans la ligne Supprimer. - Ajouter une colonne champ décrivant le critère de suppression. Le terme Où apparaît sur la ligne Supprimer. Dans l'exemple, on supprime de la table des commandes, toutes celles destinées à l’Italie. Page 7 sur 10 LES REQUETES Si l'on a défini des relations entre des tables et que des enregistrements connexes existent, la suppression ne pourra être réalisée, un message d'erreur s'affiche. Il sera nécessaire de supprimer d'abord les enregistrements liés. Vous pouvez utiliser une seule requête de suppression pour supprimer les enregistrements de plusieurs tables ayant une relation un-à-un, ou de plusieurs tables ayant une relation un-àplusieurs si l’option Effacer en cascade les enregistrements correspondants 5.7. LES REQUETES D’ANALYSE CROISEE Ce type de requête permet de présenter une feuille de réponses dans un format plus compact, facilitant les comparaisons de données par catégories. La feuille obtenue à partir d'une analyse croisée est en fait un tableau à double entrée avec pour entête de colonnes et de lignes, des valeurs de champ. - Créer la requête en ajoutant les tables désirées, - Placer les champs voulus dans la grille d'interrogation, - Sélectionner dans le menu REQUETE la commande ANALYSE CROISEE, Ou - Utiliser la liste des types de requêtes de la barre d’outils. Deux lignes supplémentaires apparaissent dans la grille d'opération. La première est celle des Opérations précédemment décrite, la seconde se nomme Analyse. - Champ(s) à déclarer en ligne : - Sélectionner Ligne dans la liste Analyse et Regroupement dans la liste Opérations, - Champ à déclarer en colonne : - Sélectionner Colonne dans la liste Analyse et Regroupement dans la liste Opérations, - Champ de données servant à remplir le tableau : - Sélectionner Valeur dans la liste Analyse et sélectionner l’opération voulue dans la liste Opérations, - Exécuter la requête. Comparons ci-dessous les résultats d'une requête Sélection et d'une autre en analyse croisée, pour les mêmes informations et critères. 5.7.1. REQUETE SELECTION Extrait de la feuille de réponse. Page 8 sur 10 LES REQUETES 5.7.2. REQUETE ANALYSE CROISEE Extrait de la feuille de réponse 5.7.3. REQUETE SQL Requête créée en utilisant une instruction SQL 5.7.4. SOUS-REQUETE Instruction SQL SELECT située dans une autre requête Sélection ou Action. Vous pouvez utiliser une sous-requête en tant qu’expression dans la cellule d’un champ ou pour définir les critères d’un champ. Page 9 sur 10 LES REQUETES Rem : En mettant Pas In avant la sous-requête, on va sélectionner au niveau du champ [nummat] de la requête tous les champs qui ne sont pas sélectionnés par la sous-requête. 5.8. REQUETE UNION Requête qui fusionne les champs correspondants de deux ou plusieurs tables ou requêtes en un seul champ. Requête SQL Directes les requêtes SQl Directes envoient des commandes directement à un serveur de base de données ODBC. Ce type de requête vous permet de travailler directement avec les tables figurant sur le serveur sans avoir a vous rattacher à ces tables. Les champs vide dans les requêtes Lorsqu’un champ ne contient pas de valeur, il contient la valeur Null ou pour les champs texte une chaîne de longueur nulle. Ces valeurs Null peuvent influer sur les résultats. Lorsque vous rassemblez des tables dans une requête, le résultat inclut seulement les enregistrements qui n’ont pas de valeur Null. Si vous utilisez une requête pour rechercher les valeurs Null tapez Est Null dans la cellule de critère Ou tapez des guillemets pour rechercher les chaînes de longueur nulle. Si vous utilisez des fonctions de regroupement, les enregistrement ayant des valeurs Null ne seront pas pris en compte. Si vous voulez trouver le nombre total d’enregistrement y compris les valeurs Null, utilisez Compte avec un * ex : Compte(*) Rem : pour convertir une valeur Null en zéro utilisez la fonction Nz Page 10 sur 10