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