ms access tables requetes

Upload: soumia-lioness-orihimie

Post on 13-Apr-2018

240 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/24/2019 Ms Access Tables Requetes

    1/40

    1

    Microsoft Access

  • 7/24/2019 Ms Access Tables Requetes

    2/40

    1. Les tables

  • 7/24/2019 Ms Access Tables Requetes

    3/40

    3

    Table : structure et donnes

    !Mode cration (structure)

    !Mode visualisation (donnes)

  • 7/24/2019 Ms Access Tables Requetes

    4/40

    4

    Cration des tables ACCESS

    !Deux tapes dans la cration dune table :

    1. Cration de la structure de la table

    2. Saisie des enregistrements (donnes) dans la table

    !

    Cration de la structure de la table

    " consiste crer les champs (aussi appels attributs) de la table et dfinir leursproprits : format daffichage, ...

    !

    Saisie des enregistrements dans une table peut tre ralise :

    " par la saisie directe de donnes dans le mode visualisation de donnes de la table

    " par des formulaires de saisie

    " par import de donnes provenant dautres fichiers : EXCEL, WORD,

    " par programmation

  • 7/24/2019 Ms Access Tables Requetes

    5/40

    5

    Types de donnes des champs

    !Texte: texte contenant au maximum 255 caractres

    !

    Mmo: texte contenant au maximum 65 000 caractres

    !Numrique:

    " Octet : entier entre 0 et 255

    " Entier : entier entre - 32 768 et 32 767

    "

    Entier long : entier entre -2 .1010et 2 .1010

    " Rel simple : rel entre -3,4 .1038et 3,4 . 1038 en prcision simple"

    Rel double : rel entre -1,8 . 10308et 1,8 . 10308en prcision double

    ! Montaire: donne numrique comprenant au plus 4 dcimales

    ! Date/heure: date et heure

    ! NumroAuto: numro squentiel unique gnr automatiquetpar Access

    !

    Oui/Non: valeur logique (ou boolenne)

    ! Objet OLE: feuille de calcul Excel, document Word, graphique,

    ! Lien hypertexte: accs des objets Microsoft ou documents Internet

  • 7/24/2019 Ms Access Tables Requetes

    6/40

    6

    Format daffichage de la valeur dun champ

    !Format: spcifie comment saffiche la valeur dun champ

    "

    pour les dates:jour mois anne

    j: jour sur un chiffre m: mois sur un chiffre aa: anne sur 2 chiffres jj: jour sur deux chiffres mm: mois sur deux chiffres aaaa: anne sur 4 chiffres jjj: 3 car. du jour (lun,...) mmm: 3 premiers car. du mois jjjj: nom du jour (lundi,...) mmmm: nom du mois

    exemple : 1er fvrier 2003

    jj/mm/aa !01/02/03jjj j mmm aaaa !lun 1 fv 2003jjjj jj mmmm aaaa !lundi 01 fvrier 2003

    "

    pour les champs numriques :

    , (virgule) sparateur dcimal

    0 espace rserv un chiffre. Affiche un chiffre ou 0

    # espace rserv un chiffre. Affiche un chiffre ou rien

    % pourcentage. La valeur est multiplie par 100 et suivie du signe %

    exemple : 360000 000 !03 600#0 000,00 ! !3 600,00 !

  • 7/24/2019 Ms Access Tables Requetes

    7/40

    7

    Lgendes associes aux champs

    !Lgende: libell du champ utilis lors de laffichage des donnes de la table, dans

    une requte, dans un formulaire ou un tat

  • 7/24/2019 Ms Access Tables Requetes

    8/40

    8

    Autres proprits des champs

    !Valeur par dfaut: valeur propose lors de la saisie lutilisateur, que ce

    dernier peut modifierexemple : champ pays pour des clients

    !

    Valide si: expression devant tre vrifie par la valeur du champ

    exemple: code postal franais: >= 1000 et

  • 7/24/2019 Ms Access Tables Requetes

    9/40

    9

    !Cl (primaire) dune table: ensemble de champs de la table dont la valeur

    est ncessairement diffrente pour chaque enregistrement de la table

    !Pour dfinir la cl dune table :

    1. Slectionner le(s) champ(s) de la cl

    2. Cliquer sur:

    !

    Remarques :"

    cause des formulaires, il est souvent plus pratique davoir une cl constitue dun seulchamp ; au besoin, crer un champ cl de type NumroAuto

    Si un champ cl est de type NumroAuto dans une table correspondant une entit, ildoit tre dclar dans les autres tables correspondant des associations avec le typeEntier long (et non NumroAuto)

    Cl dune table

    !

  • 7/24/2019 Ms Access Tables Requetes

    10/40

    10

    On peut dfinir des listes droulantes dans les tables pour faciliter la saisie

    !

    Liste de valeurs :

    !Liste d'aprs une table ou une requte :

    Liste droulante dans une table

    Liste des valeurs, spares pardes points-virgules

    Requte gnrant la liste de

    choix

  • 7/24/2019 Ms Access Tables Requetes

    11/40

    11

    !Relation: relie les champs communs des tables adjacentes dans le modleentit-association

    ! Intrt des relations :"

    facilite la construction des requtes et formulaires

    " fournit le schma global de la base de donnes

    !Crer des relations entre des tables :1. menu Outils / Relations...

    2. faire glisser le nom du champ dune table sur son quivalent dans une autre table

    !

    Exemple :

    " avant relations

    " aprs relations

    Relations entre tables

  • 7/24/2019 Ms Access Tables Requetes

    12/40

    12

    2. Les requtes

  • 7/24/2019 Ms Access Tables Requetes

    13/40

    13

    Requte

    !Requte : instruction donne ACCESS sur une BD pour :

    " interroger le contenu dune ou plusieurs table(s)

    " modifier le contenu de champ(s) dune ou plusieurs table(s)

    " supprimer des enregistrements dune ou plusieurs table(s)

    " ajouter des enregistrements dans une ou plusieurs table(s)

    " crer une nouvelle table partir de donnes provenant dautres tables

    !

    Deux moyens de crer des requtes dans ACCESS :

    " langage graphique dACCESS

    " langage SQL

    Ce document ne traite que du langage graphique dACCESS

  • 7/24/2019 Ms Access Tables Requetes

    14/40

    14

    Requte - exemple

    !Listedescrivainsdelangueanglaise trie en ordre alphabtiquesur le nom

    excution de la

    requte

    Requte Feuille de rponses

  • 7/24/2019 Ms Access Tables Requetes

    15/40

    15

    Mise en uvre dune requte

    !Requte slection: requte permettant dinterroger le contenu dune ou

    plusieurs tables"

    ce sont les plus frquentes

    " lessentiel de ce chapitre traite ce type de requte

    !

    Deux tapes dans la mise en uvre dune requte slection :1. Construction de la requte

    2. Visualisation des rponses la requte

    !La construction de la requte passe elle-mme par trois tapes :

    1. Choix de la (des) table(s) sur la(es)quelle est base la requte

    2. Choix des champs impliqus dans la requte

    3. Dfinition des critres de slection et daffichage des donnes

  • 7/24/2019 Ms Access Tables Requetes

    16/40

    16

    3

    1

    2

    4: choisir

    une table5

    6

    Construction de la requte : choix de la (des) table(s)

    !Pour une requte base sur plusieurs tables, rpter les tapes 4 et 5

    !

    Remarque : une requte peut tre base sur dautres requtes

  • 7/24/2019 Ms Access Tables Requetes

    17/40

    17

    ! Grille de dfinition de la requte :

    !

    Champ: champ provenant dune table sur laquelle est base la requte

    ! Un champ peut tre utilis comme critre pour 3 raisons :

    pour poser une condition sur la valeur de ce champ

    exemple: on veut seulement les crivains franais

    pour trier des rponses la requte

    exemple: on veut la liste des crivains tris sur le prnom

    pour afficher la valeur de ce champ dans la feuille de rponses

    exemple: on veut la liste des noms des crivains

    Construction de la requte : choix des champs

  • 7/24/2019 Ms Access Tables Requetes

    18/40

    18

    !Placer un champ comme critre :

    !Tri: spcifie lordre daffichage des enregistrements dans la rponse la requte

    " lors dun tri sur plusieurs champs, le champ le plus gauche dans la grille est le critre

    primaire de tri

    !Afficher: si la case est coche, la valeur du champ est affiche dans la feuille de

    rponses

    glisser ou

    1. clic dansla cellule

    2. Slectionnerle champ dansla liste propose

    Construction de la requte : choix des champs (suite)

  • 7/24/2019 Ms Access Tables Requetes

    19/40

    19

    !Critre: condition de slection dun enregistrement

    " seuls les enreg. vrifiant cette condition figurent dans la feuille de rponses

    !Le critre de slection est une expression pouvant contenir :

    " comparaison numrique : > < >= (!)

  • 7/24/2019 Ms Access Tables Requetes

    20/40

    20

    ! Le critre de slection est une expression pouvant contenir (suite) :

    " comparaison avec un motif : Comme"motif" o motifcontient:? un caractre quelconque

    * une suite quelconque de caractres (ventuellement vide)

    # un chiffre quelconque

    exemple : crivains dont le nom

    commence par D

    " loprateur Est Nullsignifiant que le champ nest pas rempli

    exemple: diteurs dont le code postal

    nest pas rempli

    " condition complexe utilisant des oprateurs logiques : et /ou /pas

    exemple: ouvrages parus entre

    1995 et 2000

    Dfinition des critres de slection (suite)

  • 7/24/2019 Ms Access Tables Requetes

    21/40

    21

    dont le nom commence

    par D et est franais

    ou

    dont le nom commence

    par D etest de languefranaise

    Dfinition des critres de slection (fin)

    !La ligne Oudans la grille de requte :

    !

    ACCESS ralise un ouentre les lignes et un et lintrieur dune ligneexemple :

  • 7/24/2019 Ms Access Tables Requetes

    22/40

    22

    !Remarque : si plusieurs lignes de la feuille de rponses sont identiques, ACCESS lesduplique

    " Pour viter cela : menuAffichage/Proprits- Valeurs distinctes: Oui

    !

    Enregistrer une requte :

    " ce ne sont pas les donnes de la feuille de rponses que lon enregistre, mais la formulepermettant de les obtenir

    Excuter et enregistrer une requte

    excuter la re-

    qute: ou

    modifier larequte:

  • 7/24/2019 Ms Access Tables Requetes

    23/40

    23

    !Ajouter une table une requte : puis choisir une table

    !

    Supprimer une table dune requte :1. cliquer dans len-tte de la table

    2. taper sur Suppr

    Modification dune requte : ajout et retrait dune table

  • 7/24/2019 Ms Access Tables Requetes

    24/40

    24

    !Supprimer un champ dans une requte :

    !Dplacer un champ dans une requte :

    1. cliquer dans lentte du champ dplacer

    2. faire glisser le champ lendroit voulu

    1. cliquer dans lentte du champ supprimer (le curseur devient )

    2. taper sur Suppr

    Modification dune requte : suppression et dplacementdun champ

  • 7/24/2019 Ms Access Tables Requetes

    25/40

    25

    !Jointure entre les tables :

    lorsquune requte porte sur plusieurs tables, ces tables doivent tre jointes (relies)sur les champs qui doivent tre gaux

    " exemple :

    !

    Lorsque les champs dans les deux tables ont le mme nom, la jointure seffectueautomatiquement par Access, sinon il faut la faire manuellement

    " pour joindre manuellement deux tables sur un champ, cliquer sur lun des deux champs

    et le faire glisser sur lautre

    Requtes portant sur plusieurs tables

  • 7/24/2019 Ms Access Tables Requetes

    26/40

    26

    !Si une requte comporte deux tables non adjacentes sur le modle entit-association, il faut prendre aussi toutes les tables intermdiaires et les relier

    exemple: crivains ayant crit des ouvrages classs en "finances publiques"

    " il est ncessaire dintroduire ECRIRE et OUVRAGE pour relier ECRIVAIN etCLASSIFICATION

    Requtes portant sur plusieurs tables (suite)

  • 7/24/2019 Ms Access Tables Requetes

    27/40

    27

    Requte base sur une autre requte

    ! Il est possible de baser une requte sur une (ou plusieurs) autre(s) requte(s) :

    " seuls les champs affichs dans la(les) requte(s) qui ser(ven)t de base peuvent tre

    utiliss

  • 7/24/2019 Ms Access Tables Requetes

    28/40

    28

    Calculs dans les requtes

    !Parfois, on ne veut pas afficher les enregistrements vrifiant certains critres, mais

    excuter des calculs sur ces enregistrements

    !Exemples :

    " un champ dune table contient un prix HT et on voudrait le prix TTC

    " on cherche le nombre douvrages crits par chaque crivain, ...

    "

    ! Il est possible deffectuer des calculs dans les requtes

    !Deux types de calculs :

    " champ (colonne) calcul : une colonne est calcule en fonction dautre(s) colonne(s) et/ou delle-mme. Ex : prix TTC en fonction du prix HT

    "

    calculs sur les enregistrements (lignes) : on effectue une opration sur un ou plusieursenregistrements. Ex: nombre douvrages pour chaque crivain

  • 7/24/2019 Ms Access Tables Requetes

    29/40

    29

    Champ calcul dans une requte

    !Un champ calcul est dfini dans la ligne Champde la grille de la requte au

    moyen de lexpression : nom du champ calcul: expression de calcul

    !Les expressions de calcul utilisent :

    " des constantes (numriques, chanes de car., )

    " des oprateurs et fonctions : +, -, *, ...

    " des noms de champ placs entre [ et ]

    " des fonctions Visual-BASIC

    Exemple : dans la table ARTICLE(REF,PRIXHT), on veut pour chaque article, le prixTTC (TVA 19,6%)

    nom du champ calcul expression de calcul

  • 7/24/2019 Ms Access Tables Requetes

    30/40

    30

    Champ calcul en fonction dune condition

    !Lexpression de calcul peut tre une expression conditionnelle. Pour cela on utilise

    la fonction VraiFaux, dont la syntaxe est :

    VraiFaux(condition;valeur si vrai;valeur si faux)

    " exemple : on veut pour chaque ouvrage, indiquer si cet ouvrage est une nouveaut,cest--dire sil a t publi aprs 2004

  • 7/24/2019 Ms Access Tables Requetes

    31/40

    31

    ! Il est possible deffectuer des calculs sur un ensemble denregistrements : nombredenregistrements, somme sur un champ, valeur min. ou max., ...

    !Raliser des oprations sur des enregistrements :

    !

    Principales oprations :"

    Compte : nombre denregistrements"

    Somme : somme des valeurs du champ (numrique) sur un ensemble denreg."

    Moyenne : moyenne des valeurs du champ (num.) sur un ensemble denreg."

    Min, Max : valeur min. et max. dans l ensemble denregistrements

    # la ligne Oprationapparat

    Calculs sur un ensemble denregistrements

    !

    3

    18

    Ne pas confondre Compte et Somme

    exemple :

  • 7/24/2019 Ms Access Tables Requetes

    32/40

    32

    !

    Il est possible de combiner slection et calculs sur un ensembledenregistrements :

    " utiliser lopration O(tel que) pour raliser la slection

    exemple : nombre dcrivains franais

    Calculs et slection sur un ensemble denregistrements

  • 7/24/2019 Ms Access Tables Requetes

    33/40

    33

    !Regroupement: possibilit de grouper des enregistrements sur un champ dont

    la valeur est identique"

    exemple :

    !Une fois des enregistrements regroups, il est possible deffectuer des oprationssur chaque groupe

    " exemple: on cherche le nombre de dpts dans chaque ville

    Regroupements denregistrements

  • 7/24/2019 Ms Access Tables Requetes

    34/40

    34

    Requte analyse croise

    !Analyse croise:

    requte prsente sous forme dune table deux (ou plus) entres, et non pasuniquement de colonnes

    " exemple : tableau qui, pour chaque dpt et chaque rubrique de classification, donne laquantit douvrages en stock

    rubrique de classificationr

    dptd stock pour la rubrique r et le dptd

  • 7/24/2019 Ms Access Tables Requetes

    35/40

    35

    Cration dune requte analyse croise

    !Crer une requte analyse croise :

    1. crer une requte slection2. menu Requte / Analysecroise

    une nouvelle ligne "Analyse" apparat

    3. spcifier les champs devant apparatre en ligne, et en colonne ainsi que lexpressioncorrespondant la valeur dans dans la tableau

  • 7/24/2019 Ms Access Tables Requetes

    36/40

    36

    !Requte paramtre:

    requte dont certaines parties peuvent tre dtermines en dehors de la requte, parexemple en interrogeant lutilisateur

    !Exemple :

    " lors de lexcution de cette requte :

    1. Access demande la valeur du paramtre "numro de rubrique"

    2. dtermine la liste douvrages dont le champ NUMRUB vaut la valeur saisie

    Requte paramtre

  • 7/24/2019 Ms Access Tables Requetes

    37/40

    37

    !

    Requte modification de donnes: modifie la valeur de certains champs

    denregistrements spcifis par la requteexemple : on veut augmenter le prix des ouvrages dits chez Eyrolles de 10%

    !

    Crer une requte modification de donnes :

    1. crer une requte slection spcifiant les enregistrements modifier

    2. menu Requte / Requte mise jour; une nouvelle ligne "Mise jour" apparat

    3. spcifier la nouvelle valeur dans la ligne "Mise jour"

    4. visualiser les modifications : (les donnes ne sont pas modifies)

    5. excuter les modifications:

    les donnes sont modifies de faon

    irrmdiable

    Requtes pour la modification de donnes

    !

  • 7/24/2019 Ms Access Tables Requetes

    38/40

    38

    !Requte suppression de donnes: supprime les enregistrements dune

    table qui vrifient certaines conditionsexemple : on veut supprimer les ouvrages dont la rubrique de classification est 7

    !Crer une requte suppression de donnes :

    1. crer une requte slection des enregistrements supprimer

    2. menu Requte / Requte suppression

    3. visualiser les enregistrements slectionns : (les donnes ne sont passupprimes)

    4. excuter les suppressions :

    les donnes sont supprimes de faon

    irrmdiable

    Requtes pour la suppression de donnes

    !

  • 7/24/2019 Ms Access Tables Requetes

    39/40

    39

    Requtes cration de tables

    !Requte cration de table: permet de crer une table partir de la feuille

    de rponses une requte"

    utile pour crer des sauvegardes partielles du contenu dune BD

    " la table peut tre cre dans une autre BD

    !Crer une requte cration de table :

    1. crer une requte slection

    2. menu Requte / Requte cration de table3. nommer la table cre

    4. Faire la requte de

    remplissage de la

    table

  • 7/24/2019 Ms Access Tables Requetes

    40/40

    40

    Requtes cration de tables

    4. Faire la requte de remplissage de la table