Base de Données ACCESS

Embed Size (px)

Citation preview

  • 8/19/2019 Base de Données ACCESS

    1/65

    Cours ACCESS

    BASE DE DONNEES

     ACCESS

    Intervenant : Soad LHAROUI

    Soad LHAROUI 1

  • 8/19/2019 Base de Données ACCESS

    2/65

    Cours ACCESS

    Introduction

    Avant de commencer, regardons quelques-uns des avantages d'une base de données.

    Accès à l'information plus rapidement et facilement.Toute l'information se retrouve à une seule place; dans votre base de données.Plus besoin d'essaer de regrouper l'information qui provient de plusieurs sources.!ec"erc"e Ad "oc facile.

    #$.% &ombien me reste-t-il en stoc du produit ( ) *ui sont mes di$ clients les plus importants en ce moment ) *uelsproduits sont mes meilleurs vendeurs ) *uels sont mes meilleurs représentants )

     +eilleur suivi de l'information.+eilleure gestion des données.+eilleure analse des données.+eilleure prise de décision.+ieu$ apte à répondre au$ besoins de la clientèle.Automatisation de certaines tc"es répétitives.

    POURQUOI APPRENDRE UNE BASE DE DONNÉES RELATIONNELLES ?

    &e tpe de base de données a plusieurs avantages comparés à une base de données simple aussi appelée flat file. #lleutilise beaucoup moins d'espace parce qu'elle réduit au minimum les redondances ou les répétitions des données.Pour mieu$ comprendre l'avantage d'un sstème de gestion de base de données relationnel /012!3, utilisons une$emple de factures pour comparer ces deu$ tpes de 12 et pour montrer certains concepts de base d'un /012!.

    !egardons quelques-unes des données que l'on retrouve normalement sur une facture%#$.% 2ate, 4uméro de facture, 4uméro du vendeur, 4uméro du produit, *uantité vendue, Pri$ unitaire, 2escriptiondu produit, sous total, Ta$es, Total ...

    5oici quelques-unes de ces données dans un 12 simple.

    No. Facture Client Produit Decri!tion Pri" Unitaire Qt# ...6776 A1& 869 T!:A40# 6 &A!!? 67.77

  • 8/19/2019 Base de Données ACCESS

    3/65

    Cours ACCESS

    2e cette manière, il est inutile de réécrire les données redondantes ou répétitives. &eci conserve de l'espace pourd'autres données. Pour les trois factures de l'e$emple, on économise de l'espace et du temps à ne pas avoir à réécrireles informations sur le client A1& ni la description et le pri$ unitaire du produit 869.

    D#&inition

    'utilisation d'une base de données apporte aussi de nouveau$ termes à comprendre. 5oici une liste des termes quiseront utilisés pour toutes les pages sur les suGets d'Access.

    C'a(!% Ene information nécessaire sur une personne, une c"ose ou un événement. #$.% couleur, taille,modèle, date, nom, prénom, télép"one, adresses, description, commentaires etc.

    Enre)itre(ent% En regroupement de c"amps qui décrient une personne, une c"ose ou un événement. #$.% nom,prénom, date de naissance, télép"one, numéro d'assurance sociale ou compagnie, adresse, télép"one,télécopieur, personne responsable ou département, personne responsable, télép"one.

    e c"amp télép"one est utilisé de trois manières différentes. :l est soit le numéro de télép"one d'unemploé, d'une personne dans une compagnie ou d'un département.

    Ta*le% En regroupement d'enregistrements sur un t"ème un commun. #$.% emploés, inventaire, client,fournisseurs, vé"icules, contacts etc.

    Bae dedonn#e% En regroupement de tables, de requCtes, de formulaires, et de rapports et de programmation quiconstitue un sstème complet. #$.% gestion de la facturation, gestion de l'inventaire, immatriculation

    des vé"icules, carnet de numéro de télép"one, réservations etc.

    a définition d'une *ae de donn#e prend maintenant un sens plus large qu'auparavant. &e n'est plus Guste un fic"ierqui contient de l'information utile pour l'utilisateur. :l contient aussi les requCtes, les formulaires, les états, les macroset les modules pour développer une application ou un sstème qui répond au$ besoins spécifiques de l'utilisateur.

    Quelle ont le co(!oante d+Acce ?

    Ta*le%/tructure de la table, tpe de c"amps et les informations qui sont entreposées.

    Re,u-te%!ec"erc"e d'information qui répond à certains critères déterminés par l'utilisateur.

    For(ulaire%Présentation de l'information à l'écran d'une manière pratique pour l'utilisateur.

    État%Présentation de l'information sur papier d'une manière pratique pour l'utilisateur.

    acro%2éveloppement de routines pour automatiser certaines tc"es.

    odule%Programmation

    Cr#ation d+une *ae de donn#e

    Pour vous aider à comprendre la création d'une base de données, cette page va démontrer les étapes à suivre.'e$ercice va consister à créer une base de données pour la facturation d'une entreprise.

    a première étape de la création d'une base de données est l'analyse. &'est d'ailleurs probablement l'étape la plusimportante. /i vous passeH trop rapidement sur cette étape, vous alleH ensuite perdre beaucoup de temps et d'efforts àrefaire ce qui aurait dI Ctre accompli auparavant.

    Avant de créer votre base de données, il faut avoir une idée claire de ce que seront vos besoins pour celle-ci. :l fautpréparer une analse approfondie de vos besoins. *uelles sont les informations dont vous aveH besoin ) #$.% *uellesinformations ai-Ge besoin sur mes clients, sur mes fournisseurs, sur mon inventaire, sur mon personnel etc.

    Ene tec"nique parmi d'autres que vous pouveH utiliser consiste à fonctionner à l'envers top-doJn3. /ongeH au$formulaires et au$ états dont vous aureH besoin. &onnaissant les résultats dont vous aveH besoin, il faut découvrirquels sont les c"amps nécessaires pour atteindre ceu$-ci. Par e$emple, il faut connaKtre les quantités vendues et à quelpri$ unitaire avant de connaKtre le total des ventes .

    Soad LHAROUI 3

  • 8/19/2019 Base de Données ACCESS

    4/65

    Cours ACCESS

    5ous pouveH aussi utiliser la tec"nique bottom-up. L partir de la base, vous déterminer toutes les informations quisont nécessaires pour les requCtes, les formulaires et les états de votre base de données. 5ous pouveH utiliser les deu$tec"niques pour vous assurer d'avoir toutes les informations nécessaires.

    Pour les besoins de l'e$ercice, preneH quelques instants et écriveH sur une feuille quels c"amps que l'on retrouve surune facture. #ssaeH de trouver autant de c"amps que vous pouveH.

    Lite de c'a(!

    5oici la liste de c"amps que l'on peut retrouver une facture.

    2ate, 4uméro de facture, 4uméro de client, Adresse de facturation du client, 5ille, 4uméro de télép"one, 4uméro detélécopieur, Adresse de courriel courrier électronique3, Adresse de livraison, Personne contact, &onditions depaiement, 4uméro de produit, 2escription du produit, Pri$ unitaire du produit, *uantité ac"etée, Total pour l'item,sous total, TP/ Ta$e sur le Produits et /ervices, =M du total3, T5* Ta$e de vente du *uébec, =,9M du total et de laTP/, T5A en #urope3, 0rand total, #scompte, 1on de commande, 4uméro du vendeur, 4om du vendeur ...

    Fuf N &'est peut Ctre un peu plus que vous vous attentieH.

    La econde #ta!e/ re)rou!er le in&or(ation dan de ta*le.

    :l faut ensuite regrouper en entités toutes ces informations c"amps3 dans une table ou un t"ème en commun. #$.%#st-ce que le c"amp #scompte ou &onditions de paiement ira dans l'entité table3 Dacture ou avec &lient )

     Oe vais premièrement vous démontrer ma tec"nique pour regrouper les c"amps dans des tables et pour déterminer lesrelations entre ces tables. Par après, on discutera de la tec"nique de la normalisation. +a tec"nique est un peu plussimpliste et demande un peu d'e$périence. 'utilisation de la tec"nique de la normalisation est une manière difficiled'accomplir à accomplir et à réaliser. +ais elle est infaillible lorsqu'on la comprend et on l'applique correctement. &esdeu$ manières veulent atteindre le mCme résultat% regrouper des c"amps dans des tables de manière la plus efficientepossible. Premièrement ... ma tec"nique.

    e concept est de distribuer les c"amps dans le plus grand nombre de tables possibles. +ais il a certaines règles àsuivre%

     !egroupement des c"amps dans des tables qui peuvent Ctre reliées. Pas de dédoublement de c"amps, sauf pour les c"amps en commun.Pas de dédoublement d'entrée d'information. Pas de c"amps calculables dont on peut avoir le résultat avec les informations des autres c"amps des tables. #$.%

    Total *té Q Pri$ unitaire

    :l faut regrouper les c"amps dans des tables. *uels sont les c"amps que l'on peut regrouper ensemble ) Pour vousaider dans cette tc"e, baseH-vous sur des éléments de la vie de tous les Gours, du concret. &ela aide aussi de connaKtre

    les processus de l'entreprise. *uelles sont les opérations accomplies ) *ui utilise quelle information ) Pour la facture,on retrouve des éléments qui distinguent la facture, le client, les produits et le vendeur. &e sont les quatre tables quiseront utilisées.

    /'assurer que les c"amps sont dans la bonne table. *u'il n' a pas de tables cac"ées à l'intérieur des autres.

    L l'e$ception des c"amps en commun qui servent à relier les tables, un c"amp ne devrait pas se retrouver dansplusieurs tables.

    D#ter(iner le cl# !ri(aire

    Ene clé primaire est un c"amp, ou une série de c"amps, qui permet de différencier un enregistrement des autres. Par

    e$emple, bien qu'il puisse avoir plusieurs factures avec la mCme date, la mCme quantité ac"etée, au mCme client ouavec le mCme vendeur, il n'y aura pas deux factures avec le même numéro de facture. Ene clé primaire n'est pas obligatoirepour une table. #lle le devient lorsque vous vouleH relier deu$ tables. 'une des tables doit avoir une clé primaire.

    Soad LHAROUI 4

  • 8/19/2019 Base de Données ACCESS

    5/65

    Cours ACCESS

    #ssaeH de déterminer quel c"amp serait approprié pour une clé primaire pour la table E(!lo0#. &ertainement pasle c"amp se$e. L moins qu'il ait seulement un "omme et une femme dans l'entreprise. &ela limite un peu lacroissance de l'entreprise N Dumeur ) Permanence ) +Cme c"ose. :l a seulement deu$ valeurs possibles R ou D, Fuiou 4on ...3. Puisqu'on ne peut pas entrer deu$ fois la mCme valeur dans une clé primaire, ceu$-ci ne sont pas de bonc"oi$.

    :l est possible d'utiliser le c"amp No( de &a(ille aussi longtemps que deu$ personnes dans l'entreprise n'aient pas lemCme nom. #nsuite, il est touGours possible de créer une clé primaire composé de deu$ c"amps% no( de &a(ille et

    !r#no(. &ette clé va fonctionner correctement Gusqu'à ce que deu$ emploés aient le mCme prénom et le mCme nom.Pour régler ce problème, il est possible de créer une clé primaire composée du no( de &a(ille, du !r#no( et de ladate de naiance. &ette clé primaire va fonctionner correctement Gusqu'à ce que ... &ela peut continuer longtemps.

    !endu à un certain point, vous verreH qu'il est préférable d'avoir un c"amp nommé 4uméro d'emploé ou 4umérod'assurance social pour distinguer c"acun des enregistrements de la table. +ais il a des occasions oS il est nécessaired'avoir une clé primaire qui est composée de plusieurs c"amps. 'une de ces situations sera e$pliquée un peu plus loinsur cette page.

    PreneH quelques instants pour essaer de déterminer quels c"amps dans la table seraient appropriés pour Ctre la cléprimaire ou Ctre dans la clé primaire.

    D#ter(iner le relation entre le ta*le

    Pour qu'une relation soit possible entre deu$ tables, il faut%

     < tables ou requCtes ou une combinaison des deu$36 c"amp en commun dans c"acune des tables. +Cme tpe de c"amp Te$te avec te$te, numérique avec numérique... sauf e$ception de numéroauto avec

    numérique3+Cme longueur Pas un c"amp long de 69 caractères avec un autre long de 97 caractères N3+Cme genre d'information #$.% &ode d'inventaire avec des codes d'inventaires, 4A/ avec 4A/ ...3

    5ous n'Ctes pas obligé de relier toutes les tables l'une à l'autre. :l est possible d'accéder à l'information tant que lestables soient reliées directement ou indirectement en elles. 5ous trouvereH plus de détails sur la page des relations.

    D#ter(iner le t0!e de relation 1cardinalit#2 

    :l e$iste trois tpes de relations % 6 à 6, 6 à plusieurs et plusieurs à plusieurs. Afin de ne pas répéter le te$te, voustrouvereH toutes les informations nécessaires pour déterminer le tpe de relation et comment créer des relations sur lapage sur les relations.

    Pour l'e$emple qui est utilisé sur ce site, voici comment relier les tables dont les informations se retrouvent sur unefacture.

    Soad LHAROUI 5

  • 8/19/2019 Base de Données ACCESS

    6/65

    Cours ACCESS

    'image ci-dessus démontre la liste des tables avec les c"amps qui les composent. 2e plus les lignes indiquent lesrelations entre les tables. a relation de tpes plusieurs à plusieurs requiert une tables intermédiaire composé, auminimum de la clé primaire des deu$ tables à relier. &'est la raison d'Ctre de la table Tranition Fact3In% qui pourraittout aussi s'appeler :tems de la facture.

    La nor(aliation et le &or(e nor(ale.

    'avantage d'une base de données relationnelle est d'éviter au ma$imum les répétitions ou les redondances

    d'information. a normalisation sert à séparer la liste des c"amps en plusieurs tables pour avoir une base de donnéesqui est plus efficace. Fn parle de retirer progressivement quelques problèmes que l'on retrouve dans les bases dedonnées pour affic"er la base de données sous différentes formes normales 6ère,

  • 8/19/2019 Base de Données ACCESS

    7/65

    Cours ACCESS

    e problème pour ce niveau est le c"amp *uatité ac"etée. :l dépend en mCme temps du numéro de facture et dunuméro de produit. Ene facture peut avoir plusieurs produits. +ais un produit peut aussi se retrouver sur plusieursfactures. :l a donc une relation de plusieurs à plusieurs entre ces deu$ tables.

    Facture% Numéro de facture, 2ate, bon de commande, escompte

    Client% Numéro de client, adresse de facturation, ville, numéro de télép"one, numéro de télécopieur, adresse decourriel, adresse de livraison, personne contact, escompte, conditions de paiement

    E(!lo0#% Numéro du vendeur , nom, prénom, numéro d'assurance social

    In%entaire% Numéro de produit, description, pri$ unitaire, quantité disponible

    Ite(% Numéro de facture  , Numéro de produit  , *uantité ac"etée

    5oici un e$emple du contenu de la table items. Pour cette base de données, la table est appelé Transition Dact-:nvpuisqu'elle permet de relier les tables Dacture et :nventaire. 5ous remarqueH aussi que la clé primaire de cette table estcomposé de deu$ c"amps% 4uméro de facture et 4uméro de produit. &e sont aussi les clés primaires des tablesDacture et :nventaire.

    Nu(#ro de &acture Nu(#ro de !roduit Quantit# ac'et#e

    6 6 67

    6 <

  • 8/19/2019 Base de Données ACCESS

    8/65

    Cours ACCESS

    OBJECTIFS : - Créer la structure d’une table- Définir les propriétés des champs :

      * Formats de champs  * Régles de alidation et messages d’erreur

    - !odifier la structure d’une table- Saisir les Enregistrements de la table- Créer un formulaire simple aec l’assistant- Saisir des données dans un formulaire

    - !anipuler un formulaire de saisieCAS PAPETIERE : PREMIERE PARTIE

     "# CREER $%E &A'(E A)EC ACCESS our créer une table trois +uestions sont , se poser :  A# Quels sont les renseignements dont j’aurai besoin?  (a réponse , cette +uestion a déterminer les champs ,

    définir pour la table '# Quelle sera la structure de ma table ?  our cha+ue champ de la table on doit définir le type de données et la taille du champ .nombre de

    caract/res ma0imal +ue peut contenir le champ1 C# Quel sera le champ qui servira de clé primaire de la table ?&oute table doit en effet comporter une clé primaire2 c’est , dire un champ a3ant une aleur uni+ue pour cha+ue

    enregistrement "l faut donc préoir un champ contenant un numéro ou un code  ACCESS g/re les t3pes de données et les tailles de champ suiants&3pes de données Définition &aille du champ&E4&E Contient tout t3pe de caract/res .chiffres2

    lettres5s3mbole1Défini par l6utilisateur2 de 7 octet 8us+u6, 9ma0i

    !E!; Contient des informations de longueurariable5 e0 : 9??? caract/res

    %$!ER;A$&; Attribue , cha+ue enregistrement un numéro9BB et >9BB

    - Entier long .entre -9 milliard et 9milliards1- réél simple .entre ->=? 7?>et >=? 7?>1- Réél double .entre -7B 7?7?B et 7B 7?7?B1

    !;%E&A"RE Ce t3pe de données consere en mémoire tousles chiffres apr/s la irgule2 ce +ui peuts’aérer utile pour les probl/mes d’arrondi

    octets .taille non paramétrable1

    ;(E Consere des données liées , une autreapplication telle +u’E4CE(

    Gus+u’, un gigaoctet

    ("E%HIER&E4&E

    !émorise des adresses $R( de sites Jeb Gus+u’, =??? octets

     ASS"S&A%&

    ("S&E DE CH;"4

    ermet de rechercher une aleur parmi une

    liste de aleur proenant d’une autre tableKénéralement2 les listes de choi0 sontutilisées pour les clés étrang/res

     

    DA&E#HE$RE ermet d6entrer des dates ou des heures &aille non paramétrable

    Soad LHAROUI 8

  • 8/19/2019 Base de Données ACCESS

    9/65

    Cours ACCESS

      Remar+ue : pour les champs de t3pe numéri+ue2 il faut choisir la taille la plus petite possible correspondant aubesoin par e0emple pour un champ %ombre d6enfants le t3pe octet suffit2 pour des montants aec irgule la tailleréél simple suffit largement1 (e champ de t3pe compteur é+uiaut en taille ,

  • 8/19/2019 Base de Données ACCESS

    10/65

    Cours ACCESS

    %"ent CLI NDCLI

    ????7 )ent duSud

    7? rue!ontaigne

    ("((E Ch/+ue ,réception

    779 ?????F

    ???? ???

    ????9 Crion 72 rue G'(ebas

    ("((E Ch/+ue ,réception

    9 9???? F ???? ???

    ????> Edition duCherche!idi

    9972 'ouleardde la républi+ue

    ("((E Ch/+ue ,réception

    =B 9???? F ???? ???

    ????= ic uce 7B72 route de )alenciennes S"% (E%;'(E >? 8ours fin demois >B ????? F 7>???? =?

    ???? Assurance Aur

    792 rue del6Eglise

    S"% (E%;'(E

    >? 8ours fin demois

    7=B ?????F

    7????? =?

    MODES OPERATOIRES

    71 C"que$ sur le bouton Affichage feuille de données .remar+ue : la petite fl/che permet de sélectionnerles 9 modes d’affichage d’une table : feuille de données ou création1 91 Rédu'e$ ou augmente la taille des colonnes : 

    ""# !;D"F"ER (A S&R$C&$RE D’$%E &A'(E ;n a modifier la structure de la table des clients :

    en insérant un champ C;DEREKen supprimant le champ A"E!E%&en déplaNant le champ CC(" pour le positionner aant )"((EC(" .ce +ui est plus logi+ue1

     71 Ouvre$ la fenOtre L Création de table M :

    * si la table client est encore ouerte en mode feuille de données2 %"que$ sur le bouton #""ichage $

    ! %ode création M:* Si la table client est fermée2 'é"e%tonne$ celle-ci dans la fenOtre L 'ase de données M et %"que$ sur le

    bouton L modi"ier M :

     

    91 (e mode de paiement étant une donnée répétitie2 ous alle codifier ce champ .il est plus rapide de saisir uncode plutPt +u’une e0pression du t3pe L CHE@$E A RECE&";% M1 on a donc insérer un noueau champ :C;DEREK 8uste aant le champ A"E!E%& : 

    * our insérer un champ : on sélectionne la ligne aant la+uelle on eut insérer le champ .ici onsélectionne la ligne A"E!E%&1

    Soad LHAROUI 10

    pour réduire la colonne *!.' *+, faire (lisser la marque de

    séparation de champ sur la (auche

    1) Sélectionner la table

    2) *liquer ici pour modifier la

  • 8/19/2019 Base de Données ACCESS

    11/65

    Cours ACCESS

    uis on %"que sur le menu Edition - insérer une ligne )ous poue maintenant a8outer le champ C&'E(E) dont le t3pe de données est numéri+ue - &aille du

    champ : ;C&E&(es aleurs prises par le champ C&'E(E) sont les suiantes en fonction du mode de paiement :

    CODE RE( PAIEMENT

    7 Ch/+ue , réception9 >? 8ours fin de mois

    > ? 8ours fin de mois= ? 8ours fin de mois Ch/+ue , ? 8ours

    >1 Mette$ ! )our le contenu du champ C;DEREK pour les cin+ enregistrements saisis précédemment :Ba'%u"e$ en mode "euille de données et 'a'''e$ une aleur comprise entre 7 et dans le champ C;DEREK=1 (e champ A"E!E%& est maintenant deenu superflu2 aussi ous alle le supprimer :

    Sé"e%tonne$ le champ A"E!E%&Cli+ue sur le menu Edition $ supprimer ligne

     1 Déplacement du champ CC("

    Ba'%u"e$ en mode création de table .cli+uer sur le bouton L Création de table MSé"e%tonne$ la ligne contentant le champ CC(" :

     

    """# ARA!E&RER (ES R;R"E&ES D’AFF"CHAKE E& DEF"%"R DES C;%&R;(ES DE SA"S"E;n a améliorer la table C("E%& en :définissant une "é#ende de certains champ .le champ C*CLI 2 par e0emple est incompréhensible2 sa

    légende sera Code postal1définissant une de'%r*ton +ui apparaQtra dans la barre d’état .par e0emple2 la légende du champ

    C*CLI  sera L Entre le code postal du client M1définissant un +or,at personnalisé pour certains champs : par e0emple le champ +ILLECLI  sera au

    format ma8ucule2 le champ code client sera au format ????? 1définissant des r-#"e' de va"daton : e0emple : le champ C*CLI  doit tre compris entre ?7??? et ???définissant des messages d’erreur si les régles de alidation ne sont pas respectées

     

    In+or,aton' 

    LE FORMAT DAFF!"HA#E

    (e format d6un champ définit la mani/re dont doient Otre présentées les données ;n peut utiliser danscertains cas des formats prédéfinis ou alors personnaliser son format .pour les formats prédéfinis faites doncdes essais1E0emples de formats personnalisés ., définir dans la propriété FORMAT de la ta$le en mode création :  '&NN,E 'E T-*E TE.TE /ET %,%&0 1 2TILIE3 LEC#(#CT4(E 2I+#NT 1 

    Code deformat

    Description - E0emples

    T &ous les caract/res du champ seront en ma8usculesU &ous les caract/res du champ seront en minusculesV .UAlt KrT?1 permet de personnaliser l’affichage des caract/res E0emple : pour personnaliser un nW de

    Soad LHAROUI 11

    1) !n sélectionne cette li(ne dans la mar(e

    2) !n fait (lisser le champ */*+, surle champ 0,++'*+,

  • 8/19/2019 Base de Données ACCESS

    12/65

    Cours ACCESS

    téléphone on peut définir le format suiant : VV-VV-VV-VV-VVSi on saisit la aleur ?79B92 l6affichage sera le suiant : ?7-9B---9

     '&NN,E 'E T-*E N2%E(IQ2E 1 2TILIE3 LE C#(#CT4(E2I+#NT 1

    Code deformat

    Description - E0emples

     X .UAlt KrT>1 Désigne un chiffre E0emple : soit le format

    LE% ME%%A#E% DERRE)R : lors+u’une r/gle de alidation a été définie2 on peut proo+uer l’affichage d’unmessage en cas d’erreur ACCESS utilise des E4RESS";%S DE )A("DA&";% en FranNaisar e0emple dans la propriété

  • 8/19/2019 Base de Données ACCESS

    13/65

    Cours ACCESS

     A'tu%e' : pour la propriété )alide si2 Access conertit la premi/re lettre de cha+ue mot clé en ma8uscule S’il nele fait pas2 cela traduit une erreur =1 )ous alle érifier les formats et les r/gles de alidation en saisissant les cin+ enregistrements suiants de latable C("E%& :Codeclient

    %;!C(" ADRC(" codepostal

     )"((EC("

    C;DERE

    K

    A"E!E%& E%C;$RSC("

    (AF;%DC("

    ???? !écanord _AC lesEpis =? S"% (E%;'(E > ? 8ours fin demois 9 ?????F 9????

    ????B (e soleil de&unis

    792 placedu 'arlet

    ?? D;$A" = ? 8ours fin demois

    9 ???? F ????

    ???? Goue Club >2 rue de'ellain

    ?? D;$A" = ? 8ours fin demois

    7B 9????F

    7????

    ???? !icropuce 7=B2 rue dearis

    ?? D;$A" > ? 8ours fin demois

    B9 >??? F ???

    ???7? CentrefranNais derestauration

    72 rue deSaintSulpice

    7B DECHI > ? 8ours fin demois

    9= 7???F

    >7????

    Ba'%u"e$ en mode Feuille de données et e++e%tue$ la saisie

    ")# CREER $% F;R!$(A"RE DE SA"S"E 71 (a saisie directe dans la table client n’est pas agréable2 aussi ous alle créer un formulaire de saisie +ue ousappellere :  aisie modi"ication des clients

     Mode opératoire :- Fer,e$ la table CLIENT 2

    - Dans la fenOtre base de données2 'é"e%tonne$ l’ob8et- C"que$ sur le bouton %oueau

    - Sé"e%tonne$ ensuite tous les champs , faire figurer dans le formulaire :

    Soad LHAROUI 13

    1) Sélectionnez l’assistant formulaire

    2) Sélectionnez la table client

  • 8/19/2019 Base de Données ACCESS

    14/65

    Cours ACCESS

    - Sé"e%tonne$ ensuite le mod/le Colonne simple- C.o'''e$ un st3le de présentation .c’est une affaire de go`t1

     - Sa'''e$ le titre au formulaire : aisie5%odi"ication des clients

    (e résultat , obtenir est le suiant :

    Soad LHAROUI 14

    1) sélectionnez chaque champ deant fi(urer dans le

    formulaire

    2) *liquez sur ce bouton pour faire passer un champ

    la fois dans la zone de droite3

    2)!u cliquez sur ce bouton pour faire tous les champs

    en une fois dans la zone de droite3

    ) cliquez ici pour

    passer la suite

    /our chan(er la présentation duformulaire4 cocher cette case

  • 8/19/2019 Base de Données ACCESS

    15/65

    Cours ACCESS

     

    91 )ous alle saisir les sept derniers enregistrements de la table C("E%& en utilisant le formulaire précédent : Code

    %"en

    t

    NOMCLI ADRCLI %ode

    *o'ta

    "

     &ILLECLI COD

    ERE

    (

    PAIEMENT ENCOURS

    CLI

    PLAFOND

    CLI

    ???77 (3céeRambau0

    7?2 rueaulFoucaut

    =? S"% (E%;'(E

    7 Ch/+ue ,réception

    ?> 9???? F ?????

    ???79 'rio'outi

    79=2 'dGeanne deFlandres

    9 A$'E%CHE$( A$ 'AC

    Ch/+ue , ? 8ours

    9= >??? F ????

    ???7> CarboneCop3

    ?B2 placeSaint Amé

    ?? D;$A" > ? 8ours finde mois

    77 ????? F 7????

    ???7= Séri&ech 792 rue de!aupassant

    ? )"((E%E$)E D6ASC@

    > ? 8ours finde mois

    9> ????? F >7????

    ???7 'erteman"nc

    rue desC3tises

    9997 %;IE((ESS;$S (E%S

    > ? 8ours finde mois

    79 ????? F B???

    ???7 'ilsDeroo

    &ransport

    7=2 rue després

    77 JA_"ERS = ? 8ours finde mois

    7B ????? F 7???

    ???7B Ets !ario(and

    7=B2 rue'ollaert

    9>?? (E%S 9 >? 8ours finde mois

    ? ????? F ????

    CAS PAPETIERE : DEU/IEME PARTIE

     A)TO-E'AL)AT!O(  : CREATION DE TABLES0 DE FORMULAIRES SIMPLES ET SAISIE (E &HE!E  )ous dee compléter la base de données de la société AE&"ERE en créant les tables- REK(E!E%&2- CA&EK;R"E de produits2

    - R;D$"&  )ous dere créer les formulaires de saisie correspondants afin de saisir les données (e contenu des tables , créer est le suiant 

     RE#LEME(T CODERE

    (

    MODERE(

    7 che+ue a reception9 >? 8ours fin de mois> ? 8ours fin de mois= ? 8ours fin de mois

      che+ue a ? 8ours

    "ATE#OR!E CODECAT LIBELLECAT

     ACC Accessoiresfournitures

    !;' !obilier petitmatériel

    ;$) ;urages

    A apeterie 

    Soad LHAROUI 15

    *es boutons permettent de se déplacer dans les

    enre(istrements $- 1er enre(istrement

    - enre(istrement précédent

    - enre(istrement suiant- dernier enre(istrement

  • 8/19/2019 Base de Données ACCESS

    16/65

    Cours ACCESS

     *ROD)!T CODEAR

    T

    DESI(NART T&AAR

    T

    PUHT CODECAT

    7 &ransparents photocopieurs#7? 7?Y >??? F ACC9 &ransparents manuels#7? 7?Y 7>? F ACC> St3lo , transparents effaNables 7?Y B? F ACC= St3lo , transparents permanents 7?Y B? F ACC 'oQtes de dis+uettes >266#7? 7?Y >?? F !;'

    'oQte de CD-R B= mn#7? 7?Y ?? F !;'B 'oQte de CD-RJ #7? 7?Y 79?? F !;' Calulatrice scientifi+ue Caio 7?Y 99?? F !;' Calculette Euro 7?Y 9B?? F !;'

    7? Ramette papier multi usages 7?Y =?? F A77 apier +ualité photo #9? 7?Y ?? F A79 Support mural pour moniteur 7?Y >9?? F !;'7> Filtre anti-reflet pour moniteur 7?Y 7?? F !;'7= Créer un site aec Front age ?Y 79?? F ;$)7 rogrammation en 8aascript ?Y 9??? F ;$)7 (es grandes courants du management ?Y B?? F ;$)7B (e mémento du comptable débutant ?Y 99?? F ;$)

    7 JebCam Sauni 7?Y =B?? F !;'7 it de reconnaissance ocale pour C 7?Y =??? F !;'

      AC&")"&E 71 Lan%e$ ACCESS et ouvre$  la base de données AE&"ERE!D' 91 table C#TE)&(IE  

    a1 Crée$ la structure de la table "ATE#OR!E  :(e champ C;DECA& est de t3pe te0te - taille > - format : ma8uscule .T1(e champ ("'E((ECA& est de t3pe te0te - &aille 9

     b1 Crée$ un formulaire de saisie des catégories de produits2 le nom du formulaire est L %aisie des catégoriesde produits M c1 Sa'''e$ les enregistrements de la table CA&EK;R"E aec le formulaire créé

     >1 Table (E)LE%ENT  

    a1 Crée$ la structure de la table RE#LEME(T  :  - (e champ C;DEREK est de t3pe numéri+ue - taille : octet - format : ???  - (e champ !;DEREK est de t3pe te0te - &aille 9 - format : ma8uscule .T1 

    b1 Sa'''e$ les enregistrements de la table REK(E!E%& directement en mode feuille de données 

    >1 Table *(&'2IT  

    a1 Crée$ la structure de la table R;D$"&S compte-tenu des contraintes ci-apr/sle champ C;DEAR& est numéri+ue - entier long - format : ?????le champ DES"K%AR& a une taille de ? le champ &)AAR& est du t3pe numéri+ue-réél simple-format pourcentage aec 9 décimales et ne peut

    prendre +ue deu0 aleurs : ?2? ou ?27 réoir le message d’erreur suiant : Erreur de tau0 de &)A :le tau0 de &)A doit Otre ?2? ou ?27

    le champ C;DECA& a les mOmes propriétés +ue le champ C;DECA& dans la table CA&EK;R"E

    .érifie donc le t3pe2 la taille et les propriétés du champ C;DECA& dans la table CA&EK;R"E1 b1 Crée$ le formulaire de saisie des produits .nom du formulaire : %aisie des produits1

    c1 Sa'''e$ les enregistrements de la table roduit en utilisant le formulaire créé

    Soad LHAROUI 16

  • 8/19/2019 Base de Données ACCESS

    17/65

    Cours ACCESS

     Les requetes

    Introduction

    'un des éléments les plus puissants d'une base de données est la capacité de faire une rec"erc"e sur une masse dedonnées entreposée dans la base de données. :l est ensuite possible de faire des analses et d'en sortir destendances.Par e$emple, vous nUaveH pas besoin de voir toute la liste des clients si vous aveH seulement besoin dunuméro de télép"one de lUun dUeu$. :l a aussi des requCtes pour certaines requCtes d'action telles que la mise à Gour etla suppression de données.

    a proc"aine section consiste à comprendre la procédure de création d'une requCte en créant une qui donnera desinformations sur les emploés. :l faut premièrement avoir créé la table emploé de la page de création de tables.

    Le #ta!e !our la cr#ation d6une re,u-te Acce.

    6. &"oisir la ou les tables et les requCtes nécessaires. 2éterminer les critères de sélection=. #$écuter la requCteV. Fptions spécialisées % regroupement, générateur d'e$pressionW. !elier des tables

    C'oiir la ou le ta*le et le re,u-te n#ceaire.

    Access vous offre plusieurs manières de créer une requCte% en utilisant l'un des assistants qu'Access vous offre ou en la

    btissant du début à la fin en mode création.

    e mode &réation est celui qui vous permet toutes les options pour la création d'une requCte. &ependant, il n' a pasd'assistant pour vous aider. &'est en partie pour cette raison que cette page e$iste; pour vous démontrer le potentieldes requCtes.

    'assistant requCte simple vous demande la liste des c"amps que vous vouleH voir et affic"e le résultat. :l n' a pasde critères de sélection. :l affic"e les c"amps demandés pour tous les enregistrements.

    'assistant requCte analse croisée vous demande quelques questions pour créer un tableau croisé. 5ous pouveHfacilement savoir le nombre, la somme, la moenne et d'autres opérations d'un c"amp par rapport à un autre. Pare$emple, vous pouveH savoir le nombre d'emploés qui travaille dans l'entreprise par lieu de travail et par occupation.

    Fu, quels tpes de produits ac"ètent les différents clients de l'entreprise. &ela peut devenir un outil d'analsepuissant.'assistant requCte trouver les doublons est aussi très intéressant lorsque vous aeH des difficultés à créer des

    relations entre les tables. 'une des raisons pour qu'Access refuse de créer une relation entre les tables est qu'il a undoublon illégal dans l'une des tables. &ette requCte vous permettrait de savoir quel enregistrement a un contenu d'un

    Soad LHAROUI 17

  • 8/19/2019 Base de Données ACCESS

    18/65

    Cours ACCESS

    c"amp en double pour vous permettre de corriger la situation. 'assistant requCte de non correspondance est aussi utile pour les relations entre les tables. L quoi sert une relation

    s'il n' a pas la donnée équivalente dans l'autre table ) &ette requCte permet de trouver les enregistrements qui n'ontpas d'équivalent, ou de valeur en commun, dans l'autre table reliée. &eci permet de s'assurer que tous lesenregistrements sont reliés à de l'information d'une autre table.

    5ous pouveH créer une requCte à partir d'une table ou mCme d'une autre requCte. :l est mCme possible d'avoir unerequCte qui est composée de c"amps provenant de plusieurs tables ou de requCtes. Access va vous demander de la

    liste des tables et des requCtes de c"oisir laquelle ou lesquelles vous vouleH aGouter à votre nouvelle requCte./électionneH, une à la fois, les tables et les requCtes et appueH sur le bouton aGouter. Ene fois que vous aureHsélectionné la table, la requCte ou une combinaison des deu$ dont vous aveH besoin, appueH sur le bouton Dermer.

    :l est possible de créer une requCte à partir de plusieurs tables ou de requCtes ou une combinaison des deu$. /i, pourune raison ou une autre, vous aveH oublié une table ou une requCte, vous pouveH en aGouter en mode création en

    appuant sur le bouton . :l faudra ensuite répéter l'opération ci-dessus.

    Pour les besoins de formation, les proc"aines requCtes seront tous composées à partir de la table Produit.

    #$emple %

    a première ligne sert pour sélectionner les c"amps dont vous aveH besoin pour votre requCte. a seconde ligne estpour déterminer l'ordre d'affic"age des données. a troisième ligne est pour déterminer si le c"amp doit Ctre affic"éou pas. Pour certaines conditions, il est préférable de ne pas affic"er un c"amp. a quatrième ligne et les lignessuivantes servent à déterminer les critères pour affic"er un enregistrement.

    C'oiir le t0!e de re,u-te

    Access vous offre si$ genres de requCtes. &"acune est spécialisée pour un certain genre de rec"erc"e ou d'opération.

    Re,u-te #lection % Affic"e les enregistrements qui répondent au$ critères demandés. &'est le tpe que vous alleHutiliser le plus souvent. :l affic"e seulement les enregistrements qui répondent au$ critères sélectionnés.

    Re,u-te anal0e croi#e % Affic"e un tableau de snt"èse selon les c"amps demandés.

    Re,u-te nou%elle ta*le% &réation dUune nouvelle table avec les c"amps demandés selon les critères demandés.

    Re,u-te (ie 5 7our% +ise à Gour des enregistrements selon les critères demandés.

    Re,u-te a7out% AGoute des enregistrements dUune autre table selon les critères demandés.

    Soad LHAROUI 18

  • 8/19/2019 Base de Données ACCESS

    19/65

    Cours ACCESS

    Re,u-te u!!reion% ?limine des enregistrements selon les critères demandés. :l est possible d'effacer en mCmetemps un groupe d'enregistrements qui répondent au$ critères demandés.

    Pour le moment, il s'agit d'une requCte de tpe sélection.

    C'oiir le ou le c'a(! n#ceaire

    Parmi les tables et les requCtes que vous aveH c"oisies, vous deveH c"oisir les c"amps dont vous aveH besoin pourvotre nouvelle requCte. &ela veut dire que vous nUCtes pas obligé dUutiliser tous les c"amps; seulement ceu$nécessaires pour la requCte. Aussi, le caractère 8  situé au début de c"aque table qui se retrouve dans une requCteindique que vous pouveH aGouter tous les c"amps de celle-ci dans la requCte dans l'ordre qu'ils sont présentement dansla table. &eci s'applique aussi au$ autres requCtes que vous pouveH aGouter à votre requCte.

    :l a trois manières de c"oisir un c"amp%

    9. 2ouble-clic sur le c"amp:. &"oisir parmi la liste;. Tirer un c"amp et lUinsérer au bon endroit

    Dou*le3clic ur le c'a(! 

    PlaceH le pointeur par-dessus le c"amp dont vous aveH besoin.Daites ensuite un dou*le3clic en utilisant le bouton gauc"e de la souris.

    e c"amp sélectionné va s'aGouter à la fin de la liste des c"amps déGà sélectionnés.

    !épéteH lUopération GusquUà ce que vous aeH tous les c"amps nécessaires à la requCte.

    :. C'oiir !ar(i la lite 

    PlaceH le pointeur dans la cellule blanc"e à cXté du mot C'a(!/.&liqueH dans la cellule.&liqueH ensuite sur la flèc"e noire pointant vers le bas du cXté droit de la cellule.

    2e la liste des c"amps, sélectionneH le c"amp dont vous aveH besoin.!épéteH lUaction avec la cellule à la droite GusquUà ce que vous aeH c"oisi tous les c"amps nécessaires pour terminer

    votre nouvelle requCte.

    ;. < Tirer < un c'a(! et l6in#rer au *on endroit  

    Soad LHAROUI 19

  • 8/19/2019 Base de Données ACCESS

    20/65

    Cours ACCESS

    2e la liste des tables et requCtes que vous aveH sélectionnée, placeH le pointeur sur lUun des c"amps que vous vouleHdans votre nouvelle requCte.

    AppueH et gardeH votre doigt sur le bouton gauc"e de la souris.

    Ene petite boKte blanc"e va apparaKtre. &eci est pour indiquer que vous teneH le c"amp de votre c"oi$. :l ne restequ'à le mettre dans la Hone des critères.

    #n gardant un doigt sur le bouton gauc"e de la souris, déplaceH le pointeur sur la ligne oS vous deveH insérer le

    nom des c"amps.

    &ette dernière mét"ode est très pratique pour insérer un c"amp entre deu$ autres. Ene fois c"oisis, ces c"amps serontaffic"és dans le mCme ordre que vous les aveH c"oisis de gauc"e à droite. :l est aussi possible de déplacer les c"ampsdans la requCte.

    D#ter(iner i le c'a(! ont *eoin d6-tre tri#

    Ene fois que vous aveH c"oisi les c"amps nécessaires pour compléter votre nouvelle requCte, vous deveH déterminer sices c"amps ont besoin dUCtre affic"és dans un ordre déterminé. 5ouleH-vous la liste des clients en ordre alp"abétique,en ordre selon leur c"iffre dUaffaire avec votre compagnie, selon leur lieu géograp"ique ou une combinaison de cesordres)

    #n dessous de c"aque nom du c"amp se trouve l'option pour activer le tri sur celui-ci. 5ous pouveH décider de ne pasl'activer, le tri ou de l'avoir en ordre croissant ou décroissant.

    &liqueH dans la case des tris.AppueH sur le bouton avec le triangle pointant vers le bas.2e la liste, vous pouveH sélectionner le tpe de tri que vous vouleH.

    a priorité des tris.

    :l faut cependant faire attention. e c"amp trié le plus à la gauc"e à la priorité sur les autres qui est à sa droite. 2onc,si les c"amps prénom et nom sont triés, il sera premièrement en ordre de prénom suivi du nom de famille. #$.%

    Alain acasse

    Alain emire

     Oosée acasse Y

    Cac'er le c'a(! au *eoin

    4ormalement, tous les c"amps que vous sélectionneH seront affic"és. :l arrive par moments cependant que vous aveHbesoin d'un c"amp pour la rec"erc"e mais que vous ne vouleH pas affic"er celui-ci. Par e$emple, vous vouleH leprénom et nom des personnes gagnant un revenu supérieur à 97 777 Z mais vous ne vouleH pas affic"er ce montant.

    Soad LHAROUI 20

  • 8/19/2019 Base de Données ACCESS

    21/65

    Cours ACCESS

    Pour cac"er un c"amp de l'affic"age

    &liqueH sur le carré d'affic"age en dessous de l'option du tri.

    En ( dans la case indique que le c"amp sera affic"é lors de la présentation des enregistrements.

    Pour la création de votre première requCte, il est inutile de cac"er des c"amps.

    =. D#ter(iner le crit4re de #lection

    Après avoir c"oisi les c"amps et placé dans l'ordre de votre c"oi$, trié sur certains c"amps, décidé d'affic"er ou pascertains c"amps, il faut déterminer quels sont les critères de sélection. /i vous n'écriveH aucun critère, tous lesenregistrements vont apparaKtre.

    es critères servent à filtrer les enregistrements pour affic"er seulement ceu$ dont vous aveH besoin. Pour cela, Accessvous offre plusieurs opérateurs pour différentes situations. 5oici une liste ainsi qu'une courte description de c"acun.

    Le o!#rateur 

    > @ @> >L moins qu'un autre opérateur soit c"oisi, le critère est touGours égaleau contenu du critère.

    ? 8&es opérateurs remplacent un caractère )3 ou une série de caractèresQ3.

    Et:l est possible de combiner des critères pour limiter le nombred'enregistrements qui répondent au$ critères.

    Ou:l est possible de combiner des critères pour avoir le plusd'enregistrements possibles.

    Entre etAffic"e les enregistrements qui sont entre tels et tels critères. &eu$-cisont inclusifs.

    Pa ou @Affic"e tous les enregistrements /AED ceu$ qui répondent au$critères.

    Et NullAffic"e les enregistrements dont le contenu d'un certain c"amp estvide.

    C'a(! calcul#:l est possible de créer des c"amps calculés qui donnent le résultatd'une formule qui utilise le contenu des c"amps de l'enregistrement.E"./ Total/ Quantit#8Pri"Unitaire

    Le o!#rationPermets d'avoir la somme, la moenne, le nombre ainsi d'autresopérations mat"ématiques sur les enregistrements qui répondent au$critères demandés.

    #n#rateurd+e"!reion

    Permets d'utiliser au ma$imum les requCtes. Etilise les fonctionsintégrées dans Access.

    Pour l'e$emple, écriveH ro)er pour le critère sous le c"amp prénom.

    . E"#cuter la re,u-te

    AppueH sur le bouton .OU

    2u menu A&&ic'a)e, sélectionneH l'option &euille de donn#e.

    es enregistrements qui répondent au$ critères seront affic"és.

    Soad LHAROUI 21

  • 8/19/2019 Base de Données ACCESS

    22/65

    Cours ACCESS

    Pour revenir ensuite au mode création, appueH sur le bouton .OU 

    2u menu A&&ic'a)e, sélectionneH l'option Cr#ation.

    LES RE2UETES MONO3TABLE

     AUTOE&ALUATION

     (e responsable commercial de la société AE&"ERE souhaiterait pouoir lancer un certain nombred6interrogations relaties , la table R;D$"& )ous ous déoue alors pour créer les re+uOtes appropriées 

    N4 O5)e%t+ de "a requ6te No, de "a requ6te 7no, de

    'auve#arde1

    7 ;n eut afficher la liste des produits triée sur le nom .incluanttous les champs1

    7 - roduits triés par nom

    9 ;n eut afficher la liste des produits limitée au nom et au pri0classé par ordre décroissant du pri0

    9 - roduits Classés par ordredécroissant de pri0

    > on eut afficher la liste des produits .nom et pri01 soumis ,7?Y

    > - roduits soumis , la &)A de7?Y

    = ;n eut afficher le nom des produits dont le pri0 unitaire estcompris entre 7?? F et 9?? F

    = - roduits dont le pri0 estcompris entre 7?? et 9?? F

    ;n eut afficher la liste des produits triée sur le nom .tous leschamps1 en faisant apparaQtre le pri0 de ente &&C en francs eten EurosRappel : 7euro \ B

    - (iste des produits aec pri0 deente &&C en F et en Euro1

    Création d6une re+uOte opération : ;n eut connaQtre lesdifférents tau0 de &)A

    - (iste des tau0 de &)A

    B Création d6une re+uOte ;pération : on eut connaQtre pourcha+ue tau0 de &)A2 le nombre de produits

    B - %ombre de produits par tau0 de&)A

    Création d6une re+uOte paramétrée : on eut +ue l6affichage d6uncode produit proo+ue l6affichage de l6enregistrement complet

    relatif , ce produit.oir ci dessous1

    - Recherche d’un produit

     $ne re+uOte paramétrée est une re+uOte nécessitant l’entrée d’une aleur .d’un param/tre1 par l’utilisateur aumoment de l’é0écution de la re+uOte Dans l’e0emple du ACCESS demandera , l’utilisateur d’entrée la aleur du param/tre C;DE R;D$"&RECHERCHE pour afficher le résultat de la re+uOteMode o*ératore :

    • Crée$ une nouelle re+uOte fondée sur la table R;D$"&• C"que$ dans le menu (equ6te $ *aramétre• Sa'''e$ le nom du param/tre : C;DE R;D$"& RECHERCHE et le t3pe de données : Entier long 

    • Fate' #"''er tous les champs dans la grille d’interrogation

    • Sa'''e$ le crit/re ]C;DE R;D$"& RECHERCHE^ dans le champ C;DER;D

    Soad LHAROUI 22

  • 8/19/2019 Base de Données ACCESS

    23/65

    Cours ACCESS

    •  &'ua"'e$ le résultat de la re+uOte : ous dee entrer un nW de produit .entre 7 et 712 par e0emple 7?

     (e résultat est alors le suiant :

    CODEART DESI(NART T&AART PUHT CODECAT

    7? Ramette papier multi usages 7?Y =?? F A

    Ca' Pa*et-re : 8-,e *arte Ut"'er A%%e'' ave% *"u'eur' ta5"e'

    $&"("SER ACCESS A)EC ($S"E$RS &A'(ESRE!"ERE S;$S-AR&"E : Définir des relations simples .page 7#71

     

    " C;%%A"SSA%CES REA(A'(ES

     Au cours des étapes précédentes2 ous ae créé la table R;D$"& et CA&EK;R"E Ces deu0 tables peuentOtre mises en relation car une catégorie de produits comprend *"u'eur' produits ou encore un produitappartient , une seule catégorie de produits our +u’il 3 ait relation entre deu0 tables2 il faut +ue les deu0 tables comportent un %.a,* %o,,un ar e0emple les relations entre les 9 tables apparaissent comme suit dans ACCESS et ont pour champ communC;DECA& :

    (a table CA&EK;R"E comporte comme champ C;DECA& +ui constitue la %"é *r,are(a table produit comporte également le champ C;DE CA& car cha+ue produit appartient , une catégorie ;n dit+ue ce champ constitue la %"é étran#-re de la table R;D$"& (a relation est du t3pe UN 3 PLUSIEURS : Une catégorie comporte *"u'eur' produits 2UEL EST L9INTERET DES RELATIONS

     (a mise en relation de tables évte "a redondan%e d’informations : par e0emple le champ ("'E((ECA& n’apas , figurer dans la table R;D$"& car , partir d’un numéro de produit donné on connait le %ode%at +ui lui-mOme nous permettra de connaQtre2 grce , la relation2 le libellé de la catégorie

     COMMENT DETERMINE3T9ON LES RELATIONS A DEFINIR  En respectant trois r/gles :

    Soad LHAROUI 23

    5elation

    *lé primaire

    *lé étran(6re

    ATTENTION AUX AUS !E "AN#A#E $.ans la théorie des bases de données relationnelles4 le terme

    relation n’a pas le m7me sens3 .ans +a terminolo(ie 8ccess4 unerelation représente une $OINTU%E3 S’a(issant d’une 9ointure

    entre une clé primaire et une clé étran(6re4 on parle de &ointurenaturelle3

  • 8/19/2019 Base de Données ACCESS

    24/65

    Cours ACCESS

    • (e bon sens et la logi+ue prédominent en la mati/re : par e0emple entre la table R;D$"& et la tableREK(E!E%& il n’3 aucune relation logi+ue

    • les relations doient Otre de t3pe $% ($S"E$RS2 ou $% $% : contre e0emple : "l n’3 a pas de relationdirecte possible entre la table R;D$"& et la table C("E%& car plusieurs produits peuent Otre achetés parplusieurs clients

    • la table cPté $% comporte une clé primaire et la table cPté ($S"E$RS comporte une clé étrang/re du mOmenom

     

    "" Application

     )ous alle mettre en relation la table produit et la table catégorie

     A+ "réation des relations entre la ta$le *roduit et "atégorie

      ;< Ouvre$ "a 5a'e de donnée' PAPETIEREte de da"o#ue 'uvante a**ara>t :

     

    Re,arque' :a1 (’intégrité référentielle signifie +u’un code catégorie saisi dans la table R;D$"& doit aoir été au préalablesaisi dans la table CA&EK;R"E "nersement2 si on essaie de supprimer une catégorie donnée de produits.dans la table catégorie1 alors +u’il e0iste des produits appartenant , cette catégorie2 ACCESS refusera de

    supprimer la catégorie concernéeour créer des relations $% , ($S"E$RS on doit obligatoirement cocher la case  Appliuer lintégritéré.érentielleb1 (a case L !ettre , 8our en cascade les champs correspondants M2 lors+u’elle est cochée2 permet de changerautomati+uement les aleurs du champ clé étrang/re de la table cPté plusieurs lors+u’on modifie la aleurcorrespondante dela clé primaire cPté un our cela2 la case L appli+uer l’intégrité référentielle doit Otre cochée Mc1 (a case L E""acer en cascade les enregistrements correspondants M2 lors+u’elle est cochée2 permet de supprimerles enregistrements de la table cPté lusieurs dont la clé étrang/re fait référence , une aleur de clé primairedans la table cPté $n +ue l’on a effacé En d’autres termes2 si on supprime une Catégorie de produit donnéedans la table catégorie2 tous les produits de la catégorie donnée seront effacées en cascade our utiliser cetteoption2 il faut L appli+uer l’intégrité référentielle M

      our aoir une représentation concr/te de la relation établie entre les tables CA&EK;R"E et R;D$"&2ouvre$ la table CA&EK;R"E .cPté 71 en mode feuille de données :

    Soad LHAROUI 24

    *ochez la case Appli'uer l(intégrité référentielle puis érifiez quesoit cochée la case Une ) plusieurs cliquez sur *réer pour terminer3

     

  • 8/19/2019 Base de Données ACCESS

    25/65

    Cours ACCESS

     ACCESS a a8outé , gauche une colonne supplémentaire contenant des s3mboles Ce s3mbole indi+ue laprésence d’enregistrements liés $n clic sur l’un de ces s3mboles oure les enregistrements liés2 cela donne pourla catégorie ;$) :

      A**L!"AT!O( (O( #)!DEE /Crée$ la relation e0istante entre la table C("E%& et la table REK(E!E%&+

    $&"("SER ACCESS A)EC ($S"E$RS &A'(ESDeu0i/me sous-partie : Créer une re+uOte et un formulaire multi-tables

    " Créer une re+uOte multi-tables et un formulaire fondée sur une re+uOte

     A# Création de la re+uOte;

  • 8/19/2019 Base de Données ACCESS

    26/65

    Cours ACCESS

    Crée le formulaire L 9 Saisie#modification des produits M2 ce formulaire est fondé sur la re+uOte nomméeL Re+uOte formulaire produits M et doit Otre réalisée aec l’assistant A un moment donné l’assistant propose dechoisir entre un affichage par CA&EK;R"E ou un affichage par R;D$"& :

    • C.o'''e$  par *(&'2IT  de mani/re , aoir un tri des données par produit plutPt +ue par catégorieC.o'''e$ une présentation permettant un affichage par produit .par e0emple la présentationL Gustifié M1 et un st3le .selon otre go`t1

    • Sa'''e$ le titre du formulaire : L 7 aisie5%odi"ication du "ormulaire M• our terminer2 ouvre$ le formulaire en mode formulaire .choi0 par défaut proposé dans le dernier

    assistant1 )ous dee obtenir ceci :

    $&"("SER ACCESS A)EC ($S"E$RS &A'(ES : >/me sous-partie : Créer une one de liste modifiables

    C# !odification du formulaire )ous alle effectuer des modifications dans la présentation du formulaire L 7 8 aisie5%odi"ication des produits M2 en particulier en remplaNant le contrPle C;DECA& par un bouton liste modi"iable :Résultat , obtenir au final :

     

    @$E(@$ES REC"S";%S :(e formulaire L 9 Saisie !odification#des produits M se présente comme suit en mode création : 

    our sélectionner un contrPle2 on cli+ue sur sa bordure 

    Soad LHAROUI 26

    +es différents éléments apparaissant dans ce formulaire sontappelés des contr+les ,l e#iste différents types de contr;le $

    • ,ones de te-te $ ils correspondent des champs de tables ou

    de requ7tes

    • Eti'uettes $ contiennent la lé(ende des champs ou un te#te

  • 8/19/2019 Base de Données ACCESS

    27/65

    Cours ACCESS

    ici2 la one de te0te $H& et son éti+uette ont été sélectionnées  Pour dé*"a%er une one de te0te et l’éti+uette associée2 on pointe la bordure et on fait glisser .le pointeur

    prend la forme d’une main : I1 Pour dé*"a%er un des deu0 éléments2 on pointe le coin supérieur gauche du contrPle .(e curseur prend la

    forme d’un doigt G1 Pour 'u**r,er un contrPle on le sélectionne et on appuie sur la touche Su**r Remar+ue : la suppression d’une one de te0te n’entraine aucunement la suppression du champ de la table

    ou re+uOte source  ACTI&ITE :• Sé"e%tonne$ les éti+uette et one de te0te C;DECA& et 'u**r,e$ les

    • Crée$ un bouton liste déroulante en cli+uant sur le bouton L (iste modifiable M de la barre d’outils L 9o:te; outils M .si celle-ci n’est pas affichée : 'é"e%tonne$ le menu #""ichage 8 9arres d’outils < $ 9o:te ; outils1(e pointeur prend la forme d’une croi0 aec un petit rectangle

    •  A)oute$ et a"#ne$ le champ C;DECA& , la place du contrPle C;DECA& +ue ous ene de supprimer

    • Co,*"éte$ les boQtes de dialogue successies de l’Assistant one de liste :

    ⇒ la recherche des éléments proient d’une table⇒ Sélectionne la table CA&EK;R"E dans la liste :

    ⇒ (es colonnes , inclure dans la one de liste sont C;DECA& et ("'E((ECA& :

     

    ⇒Rédu'e$ la largeur de la colonne contenant le code cat et élargisse celle du libellé cat

     

    Re,arque : Comme le champ ("'E((ECA& est dé8, affiché dans le formulaire2 on doit ici afficher le champC;DECA&2 c’est pour+uoi2 il faut décocher la case , L Colonne clé cachée M Si l’affichage de la clé n’était pasimportant pour l’utilisateur2 on aurait pu simplement afficher le ("'E((ECA& .et laisser la case cochée1

    ⇒ (a aleur utilisable est C;DECA& :

     ⇒ (a aleur choisie est , stocer dans le champ C;DECA& .de la table R;D$"&1 :

    Soad LHAROUI 27

    .écochez cette case :oir remarque ci-apr6s)

    /our modifier la taille4 faites (lisser droite ou (auche la colonne

    ,ci on ous demande en fait quelle aleur ous souhaitez afficher3

    *omme on souhaite afficher la aleur du *!.'*84 on sélectionnece champ

  • 8/19/2019 Base de Données ACCESS

    28/65

    Cours ACCESS

    ⇒ (’éti+uette de la one de liste .en +uel+ue sorte sa légende1 est L C;DECA& M :

     • "l ne reste plus +u’, positionner correctement les éti+uette et one de liste modifiable C;DECA& correctement

    sur la grille• Te'te$ le formulaire .%"que$ sur le bouton #""ichage $ mode "ormulaire1• Sa'''e$ l’enregistrement suiant :

    9? &out sur !erise 9 - 2?Y - 79? F - catégorie : ourage 

    REMAR2UE :(a création d’une one de liste modifiable peut se faire automati+uement si et seulement si2 lors de la créationdu champ C;DECA& dans la table R;D$"& on définit une L liste de choi0 M :(a table R;D$"& est ouerte en mode création et le champ C;DECA& est sélectionné :

     

    • Revene$ en mode création de formulaire pour améliorer la présentation : 

    $tilise les boutons suiants pour définir les couleurs :

     Couleur d’arri/re-plan Couleur de police Couleur de bordure 

    •  &'ua"'e$ le formulaire en cli+uant sur le bouton #""ichage %ode "ormulaire M• (e coin des e0perts : Essa3e de modifier la aleur contenue dans le champ ("'E((E CA& @ue se passe-t-il

    Comment résoudre le probl/me

    Soad LHAROUI 28

    ,l faut indiquer 8**'SS que la aleur sélectionnée met 9our le champ

    *!.'*8 de la requ7te source :qui s’appuie sur la table *8'?!5,')

    .ans la fen7tre des propriétés on sélectionne « +iste de choi# »

    !n sélectionne le contr;le

    !n sélectionne la table source

    !n sélectionne la source des données

    !n sélectionne colonne contenant *!.'*8 dans la table *8'?!5,':soit la colonne 1)

    !n sélectionne +e nombre de colonnes afficher lorsqu’on clique sur lebouton +iste déroulante

    *adre dessiné aec l’outil 5ectan(le

    et le bouton « . 'nfoncé » $et une taille de bordure de @ $

    *e contr;le a été élar(i aec la souris

    *es contr;les ont été déplacés

    8ttention $ pour que les données l’intérieur du rectan(leoran(e soient accessibles4 le rectan(le doit 7tre en

    arri6re-plan :apr6s aoir sélectionné le rectan(le4 menu

    &ormat A 8rri6re-plan )

  • 8/19/2019 Base de Données ACCESS

    29/65

    Cours ACCESS

     A**L!"AT!O( (O( #)!DEE• Crée$ une re+uOte multi tables fondée sur C("E%& et REK(E!E%& permettant d’afficher l’ensemble des

    champs de la table C("E%& et le libellé du mode de r/glement Attention , la position du champ (ibelléréglement +ui doit Otre placé apr/s C;DE REK E%REK"S&RE_ (A RE@$&E S;$S (E %;! : RE@$E&EF;R!$(A"RE C("E%&S

    • Crée$ un formulaire de saisie de t3pe L Colonne simple M fondée sur la re+uOte précédente E%REK"S&RE_(E F;R!$(A"RE S;$S (E %;! : = Sa'eMod+%aton de' %"ent'

    • Per'onna"'e$ ce formulaire , otre go`t mais en préo3ant un contrPle liste modi.ia$le , la place duchamp C;DEREK

    $&"("SER ACCESS A)EC ($S"E$RS &A'(ES @uatri/me sous-partie : Créer un état 

    (es Etats  Alors +u’un formulaire permet l’affichage , l’écran2 un état permet d’imprimer des données soit sous forme defiches soit sous forme de tableau ;n eut imprimer le catalogue des produits classés par code croissant et connaQtre le nombre de références pourcha+ue catégorie 

    CONNAISSANCES PREALABLES : Stru%ture d9un ETAT

     $n état comporte plusieurs sections :

    Ent6te d9ETAT

    CA&A(;K$E DES R;D$"&SDate : 9?#77#9??7

    Ent6te de *a#e

     ("'E((ECA& C;DEAR& DES"K%AR& &)AAR& $H&

    Ent6te de #rou*e 7L5e""e %at1

     Accessoires Fournitures

    Déta"  7 &ransparents 7?Y >??? F  9 &ransparents

    manuels7?Y 7>? F

      ****** ********* ****** ****** 

    Ped de #rou*e 7L5e""e %at1

     %ombre d’articles de la catégorie =Ped de *a#e

    AKE 7#0PIED D9ETAT

     

    COMMENTAIRE :les sections sont hiérarchisées • (a section Ent6te d’ET#T  apparaQt une seule fois sur la 7/re page de l’état et la section ied d’état apparaQt ,

    la fin de l’état en derni/re page• (es sections Ent6te et *ied de page apparaissent sur cha+ue page : en entOte on indi+ue généralement les

    éti+uettes de champs• (es sections ent6tes et pieds de groupe permettent de regrouper plusieurs enregistrements par catégorie .dans

    l’e0emple le regroupement se fait par (ibellé de catégorie - (a premi/re catégorie est L AccessoiresFournitures M +ui regroupe enregistrements

    • (a section détail est le nieau de base : Dans l’e0emple la section Détail contient les enregistrements relatifs

    au0 produits 

     ACTI&ITES : 

    Soad LHAROUI 29

  • 8/19/2019 Base de Données ACCESS

    30/65

    Cours ACCESS

    ;< Crée$0 ! "9ade de l’assistant Etat0 "9Etat ? CATALO(UE DES PRODUITS @ +ondée 'ur "a requ6te? Requ6te +or,u"are *rodut' @ :

    • Revene$ dans la fenOtre 9ase de données• Sé"e%tonne$ l’ob8et Etat• C"que$ sur l’onglet Nouveau• Etape 7  :Dans la liste des tables et re+uOtes2 'é"e%tonne$ la re+uOte L Re+uOte formulaire des produits M

     Sélectionne tous les champs

     • Etape 9  : Sé"e%tonne$ l’option de regroupement par C#TE)&(IE 

    • Etape >  : "l est possible déterminer un sous-nieau de regroupement .on pourrait par e0emple demander un

    regroupement par tau0 de &)A1

     • Etape =  : Définition des crit/res de tri

     

    Soad LHAROUI 30

  • 8/19/2019 Base de Données ACCESS

    31/65

  • 8/19/2019 Base de Données ACCESS

    32/65

    Cours ACCESS

    ;< Mod+%aton de "9Etat

    ;n aimerait aoir pour cha+ue groupe de produits le nombre de produits du groupe our cela il faut afficher lasection L ied de groupe M2 puis 3 inclure un contrPle one de te0te contenant une formule de calcul

    a1 Afficher un pied de groupe :'asculer en mode création!enu #""ichage 8 Trier et grouper

     b1 créer une one de te0te

    Dans la barre d’outils L 'oQte , outil sélectionne l’outil one de te0teDans le pied de groupe précédemment affiché2 dessine la one de te0te .largeur =cm12 ous dee obtenir ceci :

    Dé*"a%e$ l’ensemble pour le positionner , gauche2Change le te0te de l’éti+uette .&e0te97 par e0emple1 pour indi+uer : %bre de roduitsDans la one de te0te remplace la aleur "ndépendant par la formule suiante :

    \ Compte.]C;DER;D^1

    Mod+e$ la largeur des contrPles et érifie en mode aper=u avant impression : )ous dee obtenir ceci .pour la catégorie ourages par e0emple1 :

     • Enre#'tre$ l’état sous le nom : Catalogue des produits 0 puis ,*r,e$ 

     A**L!"AT!O( (O( #)!DEE FA")LTAT!'E  ;n oudrait réaliser un Etat L (iste des clients M classé par code client (es champs , préoir sont :C;DEC("2 %;!C("2 R$EC("2 CC("2 )"((EC("2 C;DEREK2 ("'E((EREK2 E%C;$RSC("2 (AF;%DC("

    Cet état sera fondé sur la re+uOte L Re+uOte formulaire clients M créée dans l’application non guidée facultatie

    LES FORMULAIRES ET LES SOUS FORMULAIRES

     (es dirigeants de la société apeti/re souhaiteraient maintenant gérer les commandes des clients )ous alle donc élaborer la structure des tables nécessaires et réaliser un formulaire de saisie des commandes 

     ANALGSE DU PROBLEME :

    E0amine le bon de commande ci-dessous :

    E&S'$R;!A&

    C;!!A%DE %W7 du 7#?>#9??7Code client : ????B

     

    Coderéglement

     = ? 8ours fin de mois (e Soleil de &unis792 place du 'arlet?? D;$A"

     

    Code produit Désignation @tés commandées $ H& Y &)A???? 'oQte de CD-R B= mn#7? 9?

    Soad LHAROUI 32

    %ettre cette aleur !ui

  • 8/19/2019 Base de Données ACCESS

    33/65

    Cours ACCESS

    ???79 Support mural pourmoniteur

    =

    ???7= Créer un site aec Frontage

    9

    ????7 &ransparentsphotocopieurs#7?

    7??

    Entoure en vert les données , saisir - en rou#e les données +ui s’affichent automati+uement et en 5"eu lesdonnées calculées

    De +uelles tables sont issues les données +ui s’affichent automati+uement CONCLUSION :our enregistrer les commandes des clients on doit créer deu0 tables :

     

     ACTI&ITES PRATI2UES

    " CREA&";% DES &A'(ES C;!!A%DE E& ("K%E C;!!A%DE 

    ;< ;ure "a 5a'e de donnée' PAPETIEREormat   .Remar+ue le t3pe Entier longest compatible aec un champ compteur1

    • C;DEAR& T@pe Numérique $ Entier long $ >ormat  • @&ESC;! &3pe numéri+ue - Entier .;n considére +ue les +uantités commandées pour un

    article ne dépasseront pas >9BB unités - les +uantités sont des nombres entiers sansdécimales1

    < Définisse "a %"é *r,are 7%.a,* NOCOM et CODEART1 : (a clé primaire se compose de deu0 champs ar consé+uent 'é"e%tonne$ les deu0 champs en mOmetemps en utilisant le sélecteur de champ2 aant de cli+uer sur le bouton Clé primaire : 

    Soad LHAROUI 33

    *!%%8.'

     NO*O.

    .8' *!%*!.'*+,

    +,?'*!%%8.' 

    NO *O./*O!E0%O!.8'*!%

    B'S*!%

    *lé primaire de la table*!%%8.'

    Sélecteur de champ

    *lé étrangère  de la table*!%%8.'3 *e champ permettra

    d’établir une relation aec la table

    *+,' 

    5'%85B"' $ ,l est inutile d’inclure le nom4 l’adresse du client333 car cesdonnées sont contenues dans la table *+,'3

     

    !n éite ainsi la 5'.!.8*' de données responsable d’une surchar(einutile du disque dur3

     "' C8S' .' .!''S !/,%,S'' 'S "' C8S' .' .!''S

    S8S 5'.!.8*'

    +a clé primaire est composée du numéro de comande ET   d’un code produit3 *ar la

    quantité commandée dépend la fois du D de commande et du code produit3 !n pourraainsi établir une relation :9ointure) entre $

    la table commande et la table +,?' *!%%8.'et

    +a table +,?' *!%%8.' et /5!.", 

  • 8/19/2019 Base de Données ACCESS

    34/65

    Cours ACCESS

     B Enre#'tre$ la table sous le nom ("K%E C;!!A%DE

    "" CREA&";% DES RE(A&";%S E%&RE (ES &A'(ES7 Fer,e$ la table ("K%E C;!!A%DE9 Sé"e%tonne$ le menu ;utils - Relations> Dans le menu Affichage2 'é"e%tonne$ l’option A8outer une table puis sélectionne les tables

    C;!!A%DE et ("K%E C;!!A%DE< Crée "e' re"aton' entre "e' ta5"e' COMMANDES0 CLIENTS *u' entre COMMANDE et ETLI(NE COMMANDE et PRODUIT ET LI(NE COMMANDE %on+or,é,ent au '%.é,a de' re"aton'

    'uvant' :

    LES FORMULAIRES ET LES SOUS FORMULAIRES

    """ SA"S"E D"REC&E D’$%E C;!!A%DE DA%S (ES &A'(ES )ous alle maintenant saisir la commande nW 7 - vor *a#e ; - )ous alle deoir saisir un enregistrement dans la table C;!!A%DE et plusieurs enregistrements dans la table("K%E C;!!A%DE2 heureusement2 ACCESS 9??? associe , cha+ue enregistrement de la table C;!!A%DEun ou plusieurs enregistrements de la table ("K%E C;!!A%DE

    Dans la table commande 'a'''e$ l’enregistrement suiant : NOCO

    M

    DATECO

    M

    CODECL

    I

    ????7 7#?>#?7 B Apr/s alidation de l’enregistrement2 $n signe dans la colonne de gauche indi+ue +u’il 3 a des données liées ,l’enregistrement :

     $n clic sur ce s3mbole et il est alors possible de isualiser les enregistrements de la table liée ("K%EC;!!A%DE ou d’a8outer2 comme ous alle le faire des enregistrements :

     

    Saisisse maintenant Dans la table liée ("K%E C;!!A%DE les enregistrements relatifs , la 7/re commande : 

    NO COM CODEPRO

    D

    2TES COM

    ????7 ???? 9?????7 ???79 =????7 ???7= 9????7 ????7 7??

     

    Soad LHAROUI 34

  • 8/19/2019 Base de Données ACCESS

    35/65

    Cours ACCESS

     )ous dee aoir ceci , l’écran :

     REMAR2UE : Dans la table liée le chmp %;C;! +ui sert de lien entre les deu0 tables n’est pas affiché Enfait2 ce champ se met , 8our automati+uement

     our le érifier2 il suffit d’afficher la table ("K%E C;!!A%DE en mode table :NOCO

    M

    CODEAR

    T

    2TESCO

    M

    ????7 ????7 7??????7 ???? 9?

    ????7 ???79 =????7 ???7= 9 Ce champ s’est rempli automati+uement

    7 ") (E C;"% DES A!A&E$RS : CREA&";% D’$% F;R!$(A"RE A)EC $% S;$S F;R!$(A"RE

     )ous ae pu apprécier la facilité aec la+uelle on saisit une commande directement dans les tables .S"C1 )ousalle créer un formulaire de saisie des commandes Ce formulaire a comprendre les champs de la tableC;!!A%DE et un sous-formulaire incluant les champs de la table ("K%E C;!!A%DE

     MODE O*ERATO!RE / 

    7 Ferme toute' "e' ta5"e'

      =< Dan' "a +en6tre 2ases de données0 sélectionne "9o5)et Formulaire *u' %"que$ 'ur ? "réer un .ormulaire en utilisant lassistant @

      > Sélectionne "a ta5"e COMMANDE et 'é"e%tonne$ "e' %.a,*' +#urant dan' "e +or,u"are

    Sé"e%tonne$ ensuite la présentation Colonne simple Sa'''e$ un nom pour le formulaire et coche la case %odi"ier la structure du "ormulaire

     )ous dee obtenir , peu pr/s ceci :

     

    < A#rand''e$ la taille du formulaire

    Soad LHAROUI 35

    'n faisant lisser le ied de formulaire ers le bas4 ous ouez a randir le formulaire

  • 8/19/2019 Base de Données ACCESS

    36/65

    Cours ACCESS

      In'erton du 'ou'3+or,u"are

    C"que$ sur le bouton Sous formulaire#sous état : De''ne$ une one rectangulaire de 7? cm de large sur de hauteur Dans l’assistant formulaire2 ndque$ la source des données du sous formulaire

    (e choi0 effectif des champs se fait dans la boQte de dialogue suiante : 

    Etape suiante : rien , faire

     Etape suiante : Attribution d’un nom pour le sous-formulaire :

     

    Le ré'u"tat +na" e't "e 'uvant :en mode création : 

    En mode affichage formulaire : 

    Soad LHAROUI 36

    1) Sélectionnez la table +,?' *!%%8.'

    21 Sélectionnez +es champs faire fi(urer dansle sous-formulaire4 soit *!.'85 et B'S*!%

    1 *li'uez sur ce bouton pour chaque champ sélectionné

    0ous pouez laisser le nom proposé par 8ccess

    .onnées proenant de la 8C+' *!%%8.'

    :formulaire principal)

    .onnées proenant de la table +,?' *!%%8.' :sous-

    formulaire)

  • 8/19/2019 Base de Données ACCESS

    37/65

    Cours ACCESS

     as tr/s élégant : en mode création2• au#,ente$ la taille du sous-formulaire de mani/re , ce +ue 7? enregistrements du sous-formulaire puissent

    Otre isibles•  Au#,ente$ la largeur des colonnes

    • C.an#e$ l’éti+uette du sous-formulaire en indi+uant L Articles en commande M• C.an#e$ le te0te des éti+uettes : %;C;! en %W de commande2 DA&EC;! en Date de commande et

    C;DEC(" en Code client < Enre#'tre$ les changements effectués dans le formulaire et le sous-formulaire Saisisse "a %o,,ande n4 =0 en ,ode +or,u"are0 +#urant %3de''ou'< &ou' deve$ au *réa"a5"ecodifier "e %ode %"ent et "e' %ode' *rodut' en %on'u"tant "e' ta5"e' %"ent' et *rodut'<

    E&S apeti/re C;!!A%DE %W 9 du 7#?>#9??7  Code client !icropuce

    Code produit Désignation @tés commandées  Créer un site aec Frontage   'oQte de CD-R B= mn#7?   (e mémento du comptable débutant 7?  &ransparents photocopieurs#7? >?

     

    B Ferme "e +or,u"are

    LES FORMULAIRES ET LES SOUS FORMULAIRES

      ) (E C;"% DES R;S : CREA&";% D$ F;R!$(A"RE C;!!A%DE F;%DE S$R DESRE@$E&ES

    (’utilisation de sous-formulaires fondés sur des tables présente un inconénient ma8eur : il n’e0iste aucun mo3ende contrPle lors de la saisie du code produit ou du code client D’autre part les champs calculés n’étant pasintégrés au0 tables2 il n’apparaQtront pas dans le sous formulaire

    ;n a donc créer deu0 re+uOtes :

     • (’une permettant la saisie de la date de commande et l’affichage de l’identité et l’adresse du client Cette

    re+uOte serira pour le formulaire principal 

    • (’autre +ui permettra la saisie du Code produit2 des +uantités commandées et l’affichage : du pri0 unitaire2 dutau0 de &)A ;n profitera également de cette re+uOte pour créer des champs calculés :

     A+ "réation des reu3tes

     A4 La reu3te permettant d5o$tenir l5ent3te du $on de commande 6.ormulaire principal7

    • Sé"e%tonne$ l’ob8et requ6te - %"que$ sur Nouveau et %ode création

    • Sé"e%tonne$ cha+ue table et cli+ue sur a8outer .tables , sélectionner : C;!!A%DE2 C("E%&2REK(E!E%&1

    • Dans le menu a++%.a#e érifie +ue l’option soit cochée .cette option esttr/s importante lors+u’on créée des re+uOtes multitables

    • Fate' #"''er les champs utiles .dans l’ordre d’apparition dans le formulaire1La "'te de' %.a,*' et "e' ta5"e' 'our%e' 'ont ndquée' %3a*r-' :

    Soad LHAROUI 37

  • 8/19/2019 Base de Données ACCESS

    38/65

    Cours ACCESS

     

    •  &'ua"'e$ le résultat de la re+uOte en cli+uant sur le bouton #""ichage $ >euille de données • Fer,e$ la re+uOte et enre#'tre$ la sous le nom E(TETE 2" .entOte bon de commande1

     

     A9 (a re+uOte permettant d’obtenir le corps du bon de commande :• Sé"e%tonne$ l’ob8et requ6te - %"que$ sur Nouveau et %ode création• Sé"e%tonne$ cha+ue table et %"que$ sur A)outer .tables , sélectionner : R;D$"& et ("K%E

    C;!!A%DE1• Fate' #"''er les champs utiles .dans l’ordre d’apparition du formulaire1

     (es champs , inclure sont indi+ués ci-apr/s :

     

    =< Créaton de %.a,*' %a"%u"é'

    our cha+ue ligne du bon de commande2 on eut connaQtre :  (e montant H& .\@&ESC;!*R"4 $%"&A"RE1  (e montant de la &)A .\H&*tau0 de &)A1 Aant de procéder2 insérer une colonne 8uste aant &)AAR& : Sé"e%tonne$ la colonne &)AAR& puis%"que$ sur Insertion $ ColonnesRésultat , obtenir : 

    For,ate$ les deu0 champs calculés en !onétaire 9 Décimales .Sélection du champ puis clic sur le bouton *ropriétés1

     &'ua"'e$ le résultat de la re+uOte en cli+uant sur le bouton #""ichage  %ode >euille de données 

    Soad LHAROUI 38

    *hamps calculés qui ne sont pas stocEés dans les tables3 *es champs ont pour nom Fet %083 +’e#pression est saisir3 8ccess a9oute les G H lorsqu’on les omet la saisie

    *es champs seront mis 9our chaque nouelle commande3 +es autres champs ne sont affichés qu’ titre

    d’information et de contr;le

  • 8/19/2019 Base de Données ACCESS

    39/65

    Cours ACCESS

    Fer,e$ la re+uOte et enre#'tre$ la sous le nom "OR*% 2" 

     2+ "réation du .ormulaire de saisie des commandes 689me :ersion7

    '7 Création du formulaire principal .saisie des commandes1

    • Fer,e$ toutes les tables

    • Dans la fenOtre 9ases de données2 'é"e%tonne$ l’ob8et >ormulaire puis cli+ue sur L Créer un "ormulaire enutilisant l’assistant M

    • Sé"e%tonne$ la re+uOte E%&E&E 'C puis 'é"e%tonne$ tous les champs de la re+uOte +ui deront figurerdans le formulaire

    • (’affichage des données se fait par commande :

    • (a présentation du formulaire est en colonnes simples• (e titre du formulaire est : Saisie des commandes :

    •  Afficher la structure du formulaire en mode création :

     "l ne reste plus +u’, inclure le sous-formulaire contenant les lignes de cha+ue commande :

    • En mode création de formulaire2 augmente la taille du formulaire :

    '9 Création du sous-formulaire Articles en commande

    • C"que$ sur le bouton assistant sous-formulaire#sous-état :•

    &race , l’écran en dessous du champ !;DEREK2 le sous-formulaire• Dans l’assistant2 indi+ue +ue la source des données proient d’une table ou d’une re+uOte e0istante :

    Soad LHAROUI 39

    /our au(menter la hauteur du formulaire4

    faites (lisser cette barre

    /our au(menter la lar(eur du formulaire4 faites (lisser cetrait droite

  • 8/19/2019 Base de Données ACCESS

    40/65

    Cours ACCESS

    • Sé"e%tonne$ ensuite la re+uOte source .soit C;RS 'C1 et 'é"e%tonne$ tou' les champs

    • "l faut ensuite indi+uer , l’assistant +uel est le champ permettant de lier le formulaire principal .contenant enfait l’entOte du bon de commande1 aec le sous-formulaire .en fait les lignes de commande1 :

     

    RE!AR@$ES :• (ors+ue le formulaire et le sous-formulaire sont fondés sur des ta5"e' et +ue des relations ont été établies

    entre les tables sur la base de clés primaires et étrang/res2 ACCESS 'at auto,atque,ent déter,ner"e %.a,* qu 'ert de "a'on entre le formulaire et le sous-formulaire En reanche2 lors+ue le formulaire

    et#ou le sous-formulaire sont fondés sur des requ6te'2 " +aut dé+nr 'o3,6,e "e %.a,* de "a'on• (e champ %;C;! du +or,u"are *rn%*a" est appelé %.a,* P-re et le champ %;C;! du 'ou'3

    +or,u"are est appelé %.a,* F"' :• $n /re a 7 ou plusieurs Fils mais un Fils n’a +u’7 seul /re Dans l’e0emple2 en effet2 une commande

    .identifié par un numéro de commande uni+ue1 comporte plusieurs lignes .cha+ue ligne est identifiée par unnuméro de commande E& un numéro de produit1

    • Donne$ un nom significatif au sous-formulaire aant de terminer la création du sous-formulaire :

     "; Le .ignolage

    (e formulaire est maintenant créé mais la mise en forme laisse certainement , désirer 'ascule en modecréation et déplace les champs2 renomme certaines éti+uettes et augmente la taille du sous-formulairepour obtenir une présentation ressemblant , cela :

    Soad LHAROUI 40

    *ochez cette case

    *li'uez sur le bouton et sélectionnez le champ !*!%

    /rocédez de la m7me mani6re

  • 8/19/2019 Base de Données ACCESS

    41/65

    Cours ACCESS

    E"é,ent' de ,ode' o*ératore' :

    • (es éti+uettes concernant l’identité du client ont été supprimées• our modifier le sous-formulaire2 il faut d’abord +er,er le formulaire Saisie des commandes en prenant

    soin de sauegarder les modifications• uis dans la fenOtre de base de données2 il faut ourir le sous-formulaire L Articles en commande M

    et l’affiche en mode feuille de données .'outon #""ichage 8>euille de données0

    • Sé"e%tonne$ toutes les colonnes et a**"que$ une taille de police de • Sé"e%tonne$ la colonne %;C;! et ,a'que$ la .menu Affichage !as+uer Colonnes1 car cette colonne

    se met , 8our automati+uement et contient pour cha+ue commande la mOme aleur +ue celle figurant dansle formulaire principal

    •  A)u'te$ ensuite la largeur de toutes les colonnes pour +ue le sous-formulaire s’affiche correctement dans leformulaire principal

    • Enre#'tre$ le sous-formulaire .en conserant le mOme nom : #rticles en commande et +er,e$ leA• Ouvre$ le formulaire Saisie des commandes et érifie la présentation .au besoin procéde au0

    modifications +ui s’imposent1RE!AR@$E : (a relation /re-Fils est s3non3me de relation $%-($S"E$RS : $n p/re a plusieurs FilsCela signifie +u’un %; C;! de la table C;!!A%DE correspond , plusieurs lignes commandes

     '5 Test du "ormulaire avec une commande

     Sa'''e$ "a %o,,ande n4 80 %od+e$ au *réa"a5"e "e %ode %"ent et "e' %ode' de *rodut' :

    E&Sapeti/re

    C;!!A%DE %W> du 7#?>#9??7

      Code client CR";%Codeproduit

    Désignation @tés commandées

      'oQte de CD-R B= mn#7? 9?  'oQte de CD-RJ #7? 9?  Filtre anti-reflet pour moniteur  

    Ferme "e +or,u"are *rn%*a" et enregistre "e 'ou' "e no, / %aisie des commandes

     ) (E C;"% DES E4ER&S : "%SER&";% DE &;&A$4 DA%S $% F;R!$(A"RE - CREA&";% DE("S&ES !;D"F"A'(ES

      A&&E%&";% : Cette partie deient tr/s techni+ue ous poue la contourner en saisissant les bons decommande de l’anne0e 7 en utilisant le formulaire L aisie des commandes M our les futurs e0perts d’ACCESS2 , os claiers :

    Soad LHAROUI 41

  • 8/19/2019 Base de Données ACCESS

    42/65

    Cours ACCESS

     Commence d’abord par enregistrer le Formulaire L Saisie des commandes M sous le nom L Saisie des commandes9 M Enregistre ensuite le sous-formulaire L Articles en commande M sous le nom L Articles en commande 9 M

    .Dans la fenOtre 9ase de données2 'é"e%tonne$ l’ob8et >ormulaire et %"que$ sur %odi"ier uis >ichierenregistrer sous1 Ferme ensuite tous les formulaires our mettre des sous-totau0 dans le formulaire principal deu0 étapes sont , suire :- Mettre les sous totau< dans le pied de page du sous-Formulaire

    - Mettre une .ormule dans le pied de page du .ormulaire principal 

    ;< !ettre des sous totau0 dans le pied de page du sous formulaire :

    • Ouvre$ le sous-formulaire 9 Articles en commande 9 en mode Création•  A++%.e$ la boQte , outils .!enu affichage'oQte , outils1

    • C"que$ sur le bouton $one de tete  : figurant dans la bo:te ; outils• Crée$ le champ &;&A( H& dans le pied du "ormulaire L Articles en commande 9 M

    • No,,e$ l’éti+uette &;& H&• Sa'''e$ la formule suiante dans la one de te0te :

    \Somme.]H&^1

    Ce +ui donne ceci :

    • "l faut maintenant définir un format pour la one de te0te :⇒ Sé"e%tonne$ la one de te0te

    ⇒ C"que$ sur le bouton propriété

    ⇒ Dans la boQte de dialogue ropriétés2 %"que$ sur l’onglet >ormat :

    • Sé"e%tonne$ le format %onétaire et 7 décimales• Donne$ un nom significatif au contrPle .car ce nom sera utilisé ultérieurement dans un autre

    formulaire1 :

    • Pro%éde$ de mOme pour les champs &;& &)A et &;& &&C ., paramétrer comme suit :1 

    (e pied de formulaire en mode création doit ressembler , ceci :

     

    Soad LHAROUI 42

    'tiquette

  • 8/19/2019 Base de Données ACCESS

    43/65

    Cours ACCESS

     &'ua"'e$ le formulaire aisie des commandes 7 : les totau0 concernent toutes les lignes de toutes lescommandes :

     =< "nclure "e' %.a,*' *ré%éde,,ent %a"%u"é' dan' "e +or,u"are *r%*a"

    • Fer,e$ d’abord le sous-formulaire L Articles en commandes 9 M

    • Ouvre$ le formulaire L Saisie des commandes 9 M en mode création• Mod+e$ la liaison entre le formulaire principal et le sous formulaire :

    - Sé"e%tonne$ le sous-formulaire- A++%.e$ les propriétés

    - C"que$ sur l’onglet toutes et ,od+e$ la propriété &bjet source et Nom en saisissant : #rticles en commande 8 

    • Dans le pied du formulaire2 %rée$ maintenant > ones de te0tes :

    • Para,étre$ ces ones de te0te pour obtenir ceci :

     

    (e détail est donné ci-dessous pour cha+ue one de te0te :

    lutPt +ue de saisir les formules et ris+uer uneerreur de saisie2 Access met , otre disposition ungénérateur d’e0pression )oir l’e0emple ci dessous

    pour la one de te0te &;& H&

     (e générateur d’e0pressions : Au lieu de saisir la propriété Source contrPle soi-mOme2 %"que$ sur le bouton Kénérateur d’e0pressions +ui

    apparaQt lors+u’on cli+ue dans certaines propriétés :

    Ce générateur se présente comme suit :

    Soad LHAROUI 43

    8 outez ici un es ace et un 2

  • 8/19/2019 Base de Données ACCESS

    44/65

    Cours ACCESS

      Apr/s aoir cli+ué sur le bouton Coller2 on obtient :

     

    > Des ones de liste modifiables

    (e formulaire précédent présente encore un défaut : lors+u’une commande est saisie par téléphone2 si le client neconnaQt pas les codes2 il a deoir chercher dans les tables le code du client2 le code des produits commandésDans le formulaire2 on a donc transformer les ones de te0te en one de listes modifiables E0emple : Code client

     Aant

     

     Apr/s

     Mode o*ératore :

    ⇒ En mode création2 'é"e%tonne$ le contrPle contenant le numéro de client

    ⇒ C"que$ sur le menu >ormat 8 (emplacer par $ 3one de liste modi"iable⇒  A++%.e$ ensuite les propriétés de la one de liste et paramétre les propriétés suiantes :

    Soad LHAROUI 44

    1) Sélectionnez l’ob9et concerné par l’e#pression :ici le sous formulaire

    « 8rticles en commande 2 »

    2) Sélectionnez  ensuite le contr;le concerné par l’e#pression:ici la zone de te#te ! F)

    ) 0aleur  est sélectionnée par défaut

    @) *li'uez ici pour (énérer l’e#pression

    I) 2alidez pour (énérer l’e#pression dans lafen7tre de propriétés

    "n clic sur le bouton et lesnoms des clients

    apparaissent en clair

  • 8/19/2019 Base de Données ACCESS

    45/65

    Cours ACCESS

     

     A++%.e$ le Formulaire pour erifier l’affichage2 en mode creation2 ous poue élargir la taille de la one de listepour améliorer l’affichage : Pro%éde$ de mOme pour le code article dans le sous-formulaire :Re,*"a%e$ la one de te0te C;DEAR& en one de liste modifiable

    Para,étre$ les propriétés suiantes :Re,*"a%e$ la one de te0te C;DEAR& en one de liste modifiablePara,étre$ les propriétés suiantes :

     (a largeur de cm donne un affichage en mode création affreu0

     car le contrPle empi/te sur les contrPles oisins !ais en mode #""ichage 8 >ormulaire2 la taille prend tout son sens :

     

    Soad LHAROUI 45

    able contenant les données afficher dans la zone

    de liste

    +a colonne 1 contient le code et la colonne 2 contient

    le nom des clients

    +a colonne 1 contient le code dont la aleur sera

    conserée dans le formulaire

    +a colonne 1 :codeart) a une lar(eur d’1 cm et la

    colonne 2 :.esi(nart) une lar(eur de Icm de mani6re isualiser enti6rement le nom des articles lorsqu’on

    clique sur le bouton de liste

    ,ndique la taille ma#imum de la zone de la liste3

  • 8/19/2019 Base de Données ACCESS

    46/65

    Cours ACCESS

    La 'a'e dan' "e +or,u"are

     )ous dispose des autres commandes du mois de mars ci-dessous , saisir dans le formulaire L Saisie descommandes 9 M si ous l’ae réalisé ou dans le sous-formulaire L Saisie des commandes M

     ANNE/E ;

    E&S AE&"RE C;!!A%DE %W = du 7#?>#9??7  code client !écanordcode produit Désignation +tes commandées  Ramette papier multi usages   St3lo , transparents permanents 7?  &ransparents photocopieurs#7? B  rogrammation en 8aascript 9 E&S AE&"RE C;!!A%DE %W du 99#?>#9??7  code client Centre franNais de

    restaurationcode produit Désignation +tes commandées  &ransparents photocopieurs#7? 7??  &ransparents manuels#7? 7??  St3lo , transparents effaNables ?  St3lo , transparents permanents ? E&S AE&"RE C;!!A%DE %W du 9>#?>#9??7  code client Assurance Aurcode produit Désignation +tes commandées

      Support mural pour moniteur =  Filtre anti-reflet pour moniteur   St3lo , transparents permanents 9?  St3lo , transparents effaNables 7? E&S AE&"RE C;!!A%DE %W B du 9=#?>#9??7  code client 'rio 'outicode produit Désignation +tes commandées  (es grandes courants du management   Calulatrice scientifi+ue Caio 9  'oQte de CD-RJ #7? ?  7?

     E&S AE&"RE C;!!A%DE %W du 9=#?>#9??7  code client (3cée Rambau0code produit Désignation +tes commandées  St3lo , transparents effaNables 7??  St3lo , transparents permanents 7??  'oQte de CD-R B= mn#7? 9? E&S AE&"RE C;!!A%DE %W du 9#?>#9??7  code client Séri&echcode produit Désignation +tes commandées  St3lo , transparents effaNables 7?

      St3lo , transparents permanents 7?  'oQte de CD-R B= mn#7? 9  Calulatrice scientifi+ue Caio 7  JebCam Sauni 9  'oQtes de dis+uettes >266#7? 9

    Soad LHAROUI 46

  • 8/19/2019 Base de Données ACCESS

    47/65

    Cours ACCESS

      Ramette papier multi usages 7?  Filtre anti-reflet pour moniteur 7

    "A% *A*ET!ERE- = 9me partieLE% RE>)ETE% A"T!O(%

     C;%%A"SSA%CES DE 'ASE 

    (es re+uOtes action permettent de modifier les données dans les tables alors +ue les re+uOtes sélection etopération ne modifient en rien les données stocées dans les tables Elles sont de +uatre t3pes : Création de table ermet de créer une nouelle table , partir des enregistrements répondant , un crit/re

    de sélection A8out A8oute le contenu des enregistrements correspondant au crit/re de sélection , une table

    e0istante .ou nouelle1!ise , 8our ermet de mettre , 8our le contenu d’un ou plusi