Cours Access

54
BASE DE DONNEES ACCESS Intervenant : Soad LHARAOUI SOAD LHARAOUI/CPCF : ACCESS 1

description

excellent

Transcript of Cours Access

  • BASE DE DONNEES ACCESS

    Intervenant : Soad LHARAOUI

    SOAD LHARAOUI/CPCF : ACCESS 1

  • OBJECTIFS : - Crer la structure dune table- Dfinir les proprits des champs :

    * Formats de champs * Rgles de validation et messages derreur

    - Modifier la structure dune table- Saisir les Enregistrements de la table- Crer un formulaire simple avec lassistant- Saisir des donnes dans un formulaire- Manipuler un formulaire de saisie

    CAS PAPETIERE : PREMIERE PARTIE I/ CREER UNE TABLE AVEC ACCESS Pour crer une table trois questions sont se poser : A/ Quels sont les renseignements dont jaurai besoin? La rponse cette question va dterminer les

    champs dfinir pour la table. B/ Quelle sera la structure de ma table ? Pour chaque champ de la table on doit dfinir le type de donnes et la taille du champ (nombre

    de caractres maximal que peut contenir le champ) C/ Quel sera le champ qui servira de cl primaire de la table ?Toute table doit en effet comporter une cl primaire, cest dire un champ ayant une valeur unique

    pour chaque enregistrement. Il faut donc prvoir un champ contenant un numro ou un code. ACCESS gre les types de donnes et les tailles de champ suivants

    Types de donnes

    Dfinition Taille du champ

    TEXTE Contient tout type de caractres (chiffres, lettres;symbole...)

    Dfini par l'utilisateur, de 1 octet jusqu' 255 maxi

    MEMO Contient des informations de longueur variable; ex : "Ce client est contacter le lundi partir de 14 h"

    Taille variable non paramtrable, de 1 32000 caractres

    NUMEROAUTO Attribue chaque enregistrement un numro "incrment"

    Taille non paramtrable (quivaut la taille entier long)

    OUI/NON Ce type n'admet que deux valeurs :soit oui/nonsoit vrai/fauxsoit activ/dsactiv

    Taille non paramtrable

    NUMERIQUE Ce type correspond des nombres (donnes qui pourront servir des calculs)

    Choisissez la taille :- Octet : nbre compris entre 0 et 255- Entier (nombre compris entre -32767 et + 32767- Entier long (entre -2 milliard et + 2milliards)- rl simple (entre -3.40 1038et +3.40 1038)- Rl double (entre -1.79 10107 et +1.79 10107)

    MONETAIRE Ce type de donnes conserve en mmoire tous les chiffres aprs la virgule, ce qui peut savrer utile pour les problmes darrondi

    8 octets (taille non paramtrable)

    OLE Conserve des donnes lies une autre application telle quEXCEL

    Jusqu un gigaoctet

    LIEN HYPERTEXTE

    Mmorise des adresses URL de sites Web Jusqu 64000 octets

    ASSISTANT LISTE DE CHOIX

    Permet de rechercher une valeur parmi une liste de valeur provenant dune autre table. Gnralement, les listes de choix sont utilises pour les cls trangres.

    SOAD LHARAOUI/CPCF : ACCESS 2

  • DATE/HEURE Permet d'entrer des dates ou des heures Taille non paramtrable Remarque : pour les champs de type numrique, il faut choisir la taille la plus petite possible correspondant au besoin par exemple pour un champ Nombre d'enfants le type octet suffit, pour des montants avec virgule la taille rl simple suffit largement) Le champ de type compteur quivaut en taille "Entier long" LE THEME La socit La papetire assure la distribution de fournitures de bureau et accessoires informatiques auprs d'utilisateurs professionnels. Cette socit envisage d'utiliser le S.G.B.D. relationnel ACCESS 2000 pour assurer le suivi des commandes clients.

    Votre mission (si vous l'acceptez) va consister crer la table CLIENT appartenant la base de donnes PAPETIERE.MDB 5) Crez la structure de la table CLIENTS selon les indications ci-aprs :Nomp du champ Type de champ Taille du champCODECLI ENTIER LONG Entier longNOMCLI TEXTE 40ADRCLI TEXTE 40VILLECLI TEXTE 25CODEREG NUMERIQUE ENTIERPAIEMENT TEXTE 21ENCOURSCLI NUMERIQUE Rl simplePLAFONDCLI NUMERIQUE Rl simpleCPCLI NUMERIQUE Entier long

    6) Crez la cl primaire de la table :

    Slectionnez le champ CODECLI en cliquant sur le slecteur de champ (bouton situ dans la marge gauche )

    Cliquez sur le bouton cl primaire :

    7) Vous disposez ci-dessous des cinq premiers enregistrements de la table CLIENT de la socit PAPETIERE. Votre travail consiste saisir ces enregistrements en mode feuille de donnes .

    Enregistrements saisir

    SOAD LHARAOUI/CPCF : ACCESS 3

    1) Saisissez les noms de champs tels quils sont dfinis dans le tableau ci-

    dessus

    2) Slectionnez le type de donnes en cliquant sur le bouton liste droulante

    3) Slectionnez la taille du champ en cliquant sur le bouton liste droulante pour les champs de type numriqueOU Saisissez le nombre de caractres pour les champs de type texte

    Enregistrez ensuite la table : Menu Fichier - EnregistrerNom de la table : CLIENT

  • Code clien

    t

    NOMCLI ADRCLI VILLECLI PAIEMENT ENCOURSCLI

    PLAFONDCLI

    CPCLI

    00001

    Vent du Sud

    10 rue Montaigne

    LILLE Chque rception

    112 000.00 F

    50000 59000

    00002

    Crion 15, rue JB Lebas

    LILLE Chque rception

    29 200.00 F

    50000 59000

    00003

    Edition du Cherche Midi

    221, Boulevard de la rpublique

    LILLE Chque rception

    47 200.00 F

    90000 59000

    00004

    Pic Puce 171, route de Valenciennes

    SIN LE NOBLE

    30 jours fin de mois

    37 000.00 F

    130000 59450

    00005

    Assurance Azur

    12, rue de l'Eglise

    SIN LE NOBLE

    30 jours fin de mois

    147 000.00 F

    100000 59450

    MODES OPERATOIRES1) Cliquez sur le bouton Affichage feuille de donnes (remarque : la petite flche permet de slectionner les 2 modes daffichage dune table : feuille de donnes ou cration) 2) Rduisez ou augmentez la taille des colonnes :

    II/ MODIFIER LA STRUCTURE DUNE TABLE On va modifier la structure de la table des clients :

    en insrant un champ CODEREGen supprimant le champ PAIEMENTen dplaant le champ CPCLI pour le positionner avant VILLECLI (ce qui est plus logique)

    1) Ouvrez la fentre Cration de table :

    * si la table client est encore ouverte en mode feuille de donnes, cliquez sur le bouton

    Affichage - Mode cration : * Si la table client est ferme, slectionnez celle-ci dans la fentre Base de donnes et

    cliquez sur le bouton modifier :

    2) Le mode de paiement tant une donne rptitive, vous allez codifier ce champ (il est plus rapide de saisir un code plutt quune expression du type CHEQUE A RECEPTION ) on va donc insrer un nouveau champ : CODEREG juste avant le champ PAIEMENT :

    * Pour insrer un champ : on slectionne la ligne avant laquelle on veut insrer le champ (ici on slectionne la ligne PAIEMENT)

    SOAD LHARAOUI/CPCF : ACCESS 4

    pour rduire la colonne CODE CLI faire glisser la marque de sparation de champ sur la gauche

    1) Slectionner la table

    CLIENT

    2) Cliquer ici pour modifier la

    structure de la table

  • Puis on clique sur le menu Edition - insrer une ligneVous pouvez maintenant ajouter le champ CODEREG dont le type de donnes est numrique -

    Taille du champ : OCTETLes valeurs prises par le champ CODEREG sont les suivantes en fonction du mode de paiement :

    CODE REG PAIEMENT1 Chque rception2 30 jours fin de mois3 60 jours fin de mois4 90 jours fin de mois5 Chque 60 jours

    3) Mettez jour le contenu du champ CODEREG pour les cinq enregistrements saisis prcdemment : Basculez en mode feuille de donnes et saisissez une valeur comprise entre 1 et 5 dans le champ CODEREG.4) Le champ PAIEMENT est maintenant devenu superflu, aussi vous allez le supprimer :

    Slectionnez le champ PAIEMENTCliquez sur le menu Edition - supprimer ligne

    5) Dplacement du champ CPCLI

    Basculez en mode cration de table (cliquer sur le bouton Cration de table Slectionnez la ligne contentant le champ CPCLI :

    III/ PARAMETRER LES PROPRIETES DAFFICHAGE ET DEFINIR DES CONTROLES DE SAISIEOn va amliorer la table CLIENT en :

    dfinissant une lgende de certains champ (le champ CPCLI, par exemple est incomprhensible, sa lgende sera Code postal)

    dfinissant une description qui apparatra dans la barre dtat (par exemple, la lgende du champ CPCLI sera Entrez le code postal du client )

    dfinissant un format personnalis pour certains champs : par exemple le champ VILLECLI sera au format majucule, le champ code client sera au format 00000 ...)

    dfinissant des rgles de validation : exemple : le champ CPCLI doit tre compris entre 01000 et 95000

    dfinissant des messages derreur si les rgles de validation ne sont pas respectes.

    Informations

    LE FORMAT DAFFICHAGE

    Le format d'un champ dfinit la manire dont doivent tre prsentes les donnes. On peut utiliser dans certains cas des formats prdfinis ou alors personnaliser son format (pour les formats prdfinis faites donc des essais!!!)Exemples de formats personnaliss ( dfinir dans la proprit FORMAT de la table en mode cration : DONNES DE TYPE TEXTE (ET MMO) : UTILISEZ LES CARACTRES SUIVANTS :

    SOAD LHARAOUI/CPCF : ACCESS 5

    1) On slectionne cette ligne dans la marge

    2) On fait glisser le champ CPCLI sur le champ VILLECLI

  • Code de format

    Description - Exemples

    > Tous les caractres du champ seront en majuscules< Tous les caractres du champ seront en minuscules@ (0)

    permet de personnaliser laffichage des caractres Exemple : pour personnaliser un n de tlphone on peut dfinir le format suivant : @@-@@-@@-@@-@@Si on saisit la valeur 0127988862, l'affichage sera le suivant : 01-27-98-88-62

    DONNES DE TYPE NUMERIQUES : UTILISEZ LES CARACTRES SUIVANTS :

    Code de format

    Description - Exemples

    # (3)

    Dsigne un chiffre. Exemple : soit le format "N de code "### ### . En entrant la valeur 411214 ACCESS affichera : N de code 411 214

    0 Exemple : 000 : la valeur 7 sera affiche 007% Format pourcentage Ex : 0,12 entraine l'affichage de la valeur 12%F ou Affiche le symbole F(ranc) ou (uro), utiliser plutt le format "Montaire"

    LES RGLES DE VALIDATION ET LES MESSAGES DERREUR LES REGLES DE VALIDATION limitent les valeurs que doit prendre le champ et permettent donc un contrle de saisie LES MESSAGES DERREUR : lorsquune rgle de validation a t dfinie, on peut provoquer laffichage dun message en cas derreur.ACCESS utilise des EXPRESSIONS DE VALIDATION en Franais.Par exemple dans la proprit "VALIDE SI " on peut utiliser les expressions suivantes : EXPRESSIONS DE VALIDATION LES DONNES DOIVENT MESSAGE SI ERREUR

    ="FRANCE" Etre gales "FRANCE" Le pays saisi doit tre la France ENTRE "01000" ET "95000" Comprises entre "01000" et

    "95000" Le code postal nest pas valide

    DANS("PARIS";"LYON";"LILLE") Etre "PARIS";"LYON" ou "LILLE" La ville doit tre PARIS, LYON ou LILLE

    COMME("P[A-F]###") avoir la 1re lettre commenant par Pet la deuxime comprise entre A et F

    ACTIVITEParamtrez les proprits de certains champs de la table CLIENT en tenant compte des indications ci-dessous

    Nom du champ

    Description Lgende Format Rgle de validation/message derreur

    CODECLI Code client

    00000

    VILLECLI En majuscule CPCLI Entrez le code postal Code

    Postal@@@@@ Valide si :

    Entre 01000 Et 95999 Message si erreur : Le code postal doit tre compris entre 01000 et 95999

    PLAFONDCLI Saisissez la ligne de crdit maximal autoris

    Montaire en euro

    ENCOURSCLI Saisissez lencours de crdit utilis

    Montaire en euro

    CODEREG Valide si :Entre 1 Et 5Message si erreur :Le code de rglement doit tre compris entre 1 et 5

    SOAD LHARAOUI/CPCF : ACCESS 6

  • Elments de modes opratoires :

    Slectionnez le champ dont les proprits sont modifierParamtrez la ou les proprits concernes

    Astuces : pour la proprit Valide si, Access convertit la premire lettre de chaque mot cl en majuscule. Sil ne le fait pas, cela traduit une erreur 4) Vous allez vrifier les formats et les rgles de validation en saisissant les cinq enregistrements suivants de la table CLIENT :Code client

    NOMCLI ADRCLI code postal

    VILLECLI CODEREG

    PAIEMENT ENCOURSCLI

    PLAFONDCLI

    00006

    Mcanord ZAC les Epis

    59450 SIN LE NOBLE

    3 60 jours fin de mois

    269 000.00 F

    280000

    00007

    Le soleil de Tunis

    125, place du Barlet

    59500 DOUAI 4 90 jours fin de mois

    29 600.00 F

    50000

    00008

    Joue Club 356, rue de Bellain

    59500 DOUAI 4 90 jours fin de mois

    176 200.00 F

    190000

    00009

    Micropuce 147, rue de Paris

    59500 DOUAI 3 60 jours fin de mois

    72 350.00 F

    95000

    00010

    Centre franais de restauration

    15, rue de Saint Sulpice

    59187 DECHY 3 60 jours fin de mois

    294 150.00 F

    310000

    Basculez en mode Feuille de donnes et effectuez la saisie.

    IV/ CREER UN FORMULAIRE DE SAISIE 1) La saisie directe dans la table client nest pas agrable, aussi vous allez crer un formulaire de saisie que vous appellerez : Saisie modification des clients Mode opratoire :- Fermez la table CLIENTS,

    - Dans la fentre base de donnes, slectionnez lobjet - Cliquez sur le bouton Nouveau

    - Slectionnez ensuite tous les champs faire figurer dans le formulaire :

    SOAD LHARAOUI/CPCF : ACCESS 7

    1) Slectionnez lassistant formulaire

    2) Slectionnez la table client

  • - Slectionnez ensuite le modle Colonne simple- Choisissez un style de prsentation (cest une affaire de got)

    - Saisissez le titre au formulaire : Saisie/Modification des clients

    Le rsultat obtenir est le suivant :

    SOAD LHARAOUI/CPCF : ACCESS 8

    1) slectionnez chaque champ devant figurer dans le formulaire

    2) Cliquez sur ce bouton pour faire passer un champ la fois dans la zone de droite.

    2)Ou cliquez sur ce bouton pour faire tous les champs en une fois dans la zone de droite.

    3) cliquez ici pour passer la suite

    Pour changer la prsentation du formulaire, cocher cette case

  • 2) Vous allez saisir les sept derniers enregistrements de la table CLIENT en utilisant le formulaire prcdent :

    Code clien

    t

    NOMCLI ADRCLI code post

    al

    VILLECLI CODEREG

    PAIEMENT ENCOURSCLI

    PLAFONDCLI

    00011

    Lyce Rambaux

    105, rue Paul Foucaut

    59450

    SIN LE NOBLE

    1 Chque rception

    503 200.00 F

    500000

    00012

    Briko Boutik

    124, Bd Jeanne de Flandres

    59265

    AUBENCHEUL AU BAC

    5 Chque 60 jours

    24 350.00 F 80000

    00013

    Carbone Copy

    07, place Saint Am

    59500

    DOUAI 3 60 jours fin de mois

    116 000.00 F

    180000

    00014

    SriTech 12, rue de Maupassant

    59650

    VILLENEUVE D'ASCQ

    3 60 jours fin de mois

    263 000.00 F

    310000

    00015

    Berteman Inc.

    rue des Cytises

    62221

    NOYELLES SOUS LENS

    3 60 jours fin de mois

    128 000.00 F

    97000

    00016

    Bils Deroo Transport

    14, rue des prs

    59119

    WAZIERS 4 90 jours fin de mois

    178 000.00 F

    195000

    00017

    Ets Mario Land

    147, rue Bollaert

    62300

    LENS 2 30 jours fin de mois

    60 000.00 F 60000

    CAS PAPETIERE : DEUXIEME PARTIEAUTO-EVALUATION : CREATION DE TABLES, DE FORMULAIRES SIMPLES ET SAISIE

    LE THEME Vous devez complter la base de donnes de la socit PAPETIERE en crant les tables- REGLEMENT,- CATEGORIE de produits,- PRODUIT. Vous devrez crer les formulaires de saisie correspondants afin de saisir les donnes. Le contenu des tables crer est le suivant REGLEMENTCODEREG MODEREG

    1 cheque a reception2 30 jours fin de mois3 60 jours fin de mois4 90 jours fin de mois

    5 cheque a 60 jours

    CATEGORIECODECAT LIBELLECAT

    ACC Accessoires fournitures

    MOB Mobilier petit matriel

    OUV OuvragesPAP Papeterie

    PRODUIT

    CODEART DESIGNART TVAART PUHT CODECAT

    SOAD LHARAOUI/CPCF : ACCESS 9

    Ces boutons permettent de se dplacer dans les enregistrements:- 1er enregistrement- enregistrement prcdent- enregistrement suivant- dernier enregistrement

  • 1 Transparents photocopieurs/10 19.60% 30.00 F ACC2 Transparents manuels/10 19.60% 13.50 F ACC3 Stylo transparents effaables 19.60% 7.50 F ACC4 Stylo transparents permanents 19.60% 7.50 F ACC5 Botes de disquettes 3,5''/10 19.60% 35.00 F MOB6 Bote de CD-R 74 mn/10 19.60% 99.00 F MOB7 Bote de CD-RW /10 19.60% 152.00

    FMOB

    8 Calulatrice scientifique Cazio 19.60% 225.00 F

    MOB

    9 Calculette Euro 19.60% 27.00 F MOB10 Ramette papier multi usages 19.60% 45.00 F PAP11 Papier qualit photo /20 19.60% 58.00 F PAP12 Support mural pour moniteur 19.60% 352.00

    FMOB

    13 Filtre anti-reflet pour moniteur 19.60% 159.00 F

    MOB

    14 Crer un site avec Front Page 5.50% 125.00 F

    OUV

    15 Programmation en javascript 5.50% 250.00 F

    OUV

    16 Les grandes courants du management 5.50% 75.00 F OUV17 Le mmento du comptable dbutant 5.50% 226.00

    FOUV

    18 WebCam Sauni 19.60% 467.00 F

    MOB

    19 Kit de reconnaissance vocale pour PC 19.60% 450.00 F

    MOB

    ACTIVITE 1) Lancez ACCESS et ouvrez la base de donnes PAPETIERE.MDB 2) table CATEGORIE

    a) Crez la structure de la table CATEGORIE :Le champ CODECAT est de type texte - taille 3 - format : majuscule (>)Le champ LIBELLECAT est de type texte - Taille 25

    b) Crez un formulaire de saisie des catgories de produits, le nom du formulaire est Saisie des catgories de produits c) Saisissez les enregistrements de la table CATEGORIE avec le formulaire cr.

    3) Table REGLEMENT

    a) Crez la structure de la table REGLEMENT : - Le champ CODEREG est de type numrique - taille : octet - format : 000 - Le champ MODEREG est de type texte - Taille 25 - format : majuscule (>) b) Saisissez les enregistrements de la table REGLEMENT directement en mode feuille de donnes

    3) Table PRODUIT

    a) Crez la structure de la table PRODUITS compte-tenu des contraintes ci-aprs le champ CODEART est numrique - entier long - format : 00000le champ DESIGNART a une taille de 50 le champ TVAART est du type numrique-rl simple-format pourcentage avec 2 dcimales et

    ne peut prendre que deux valeurs : 0,055 ou 0,196. Prvoir le message derreur suivant : Erreur de taux de TVA : le taux de TVA doit tre 0,055 ou 0,196

    le champ CODECAT a les mmes proprits que le champ CODECAT dans la table CATEGORIE (vrifiez donc le type, la taille et les proprits du champ CODECAT dans la table CATEGORIE)

    SOAD LHARAOUI/CPCF : ACCESS 10

  • b) Crez le formulaire de saisie des produits (nom du formulaire : Saisie des produits) c) Saisissez les enregistrements de la table Produit en utilisant le formulaire cr

    LES REQUETES MONO-TABLEAUTOEVALUATION

    Le responsable commercial de la socit PAPETIERE souhaiterait pouvoir lancer un certain nombre d'interrogations relatives la table PRODUIT. Vous vous dvouez alors pour crer les requtes appropries

    N Objectif de la requte Nom de la requte (nom de sauvegarde)

    1 On veut afficher la liste des produits trie sur le nom (incluant tous les champs)

    P1 - Produits tris par nom

    2 On veut afficher la liste des produits limite au nom et au prix class par ordre dcroissant du prix

    P2 - Produits Classs par ordre dcroissant de prix

    3 on veut afficher la liste des produits (nom et prix) soumis 19.60%

    P3 - Produits soumis la TVA de 19.60%

    4 On veut afficher le nom des produits dont le prix unitaire est compris entre 100 F et 200 F

    P4 - Produits dont le prix est compris entre 100 et 200 F

    5 On veut afficher la liste des produits trie sur le nom (tous les champs) en faisant apparatre le prix de vente T.T.C. en francs et en Euros.Rappel : 1euro = 6.55957

    P5 - Liste des produits avec prix de vente T.T.C. en F et en Euro)

    6 Cration d'une requte opration : On veut connatre les diffrents taux de TVA

    P6 - Liste des taux de TVA

    7 Cration d'une requte Opration : on veut connatre pour chaque taux de TVA, le nombre de produits

    P7 - Nombre de produits par taux de TVA

    8 Cration d'une requte paramtre : on veut que l'affichage d'un code produit provoque l'affichage de l'enregistrement complet relatif ce produit(voir ci dessous)

    P8 - Recherche dun produit

    Une requte paramtre est une requte ncessitant lentre dune valeur (dun paramtre) par lutilisateur au moment de lxcution de la requte. Dans lexemple du 8 ACCESS demandera lutilisateur dentre la valeur du paramtre CODE PRODUIT RECHERCHE pour afficher le rsultat de la requte.Mode opratoire : Crez une nouvelle requte fonde sur la table PRODUIT Cliquez dans le menu Requte - Paramtre Saisissez le nom du paramtre : CODE PRODUIT RECHERCHE et le type de donnes : Entier long

    Faites glisser tous les champs dans la grille dinterrogation Saisissez le critre [CODE PRODUIT RECHERCHE] dans le champ CODEPROD

    SOAD LHARAOUI/CPCF : ACCESS 11

  • Visualisez le rsultat de la requte : vous devez entrer un n de produit (entre 1 et 19), par exemple 10

    Le rsultat est alors le suivant :

    CODEART DESIGNART TVAART PUHT CODECAT10 Ramette papier multi usages 19.60% 45.00 F PAP

    Cas Papetire : 3me partie Utiliser Access avec plusieurs tables

    UTILISER ACCESS AVEC PLUSIEURS TABLESPREMIERE SOUS-PARTIE : Dfinir des relations simples (page 1/1)

    I. CONNAISSANCES PREALABLESAu cours des tapes prcdentes, vous avez cr la table PRODUIT et CATEGORIE. Ces deux tables peuvent tre mises en relation car une catgorie de produits comprend plusieurs produits ou encore un produit appartient une seule catgorie de produits. Pour quil y ait relation entre deux tables, il faut que les deux tables comportent un champ commun. Par exemple les relations entre les 2 tables apparaissent comme suit dans ACCESS et ont pour champ commun CODECAT :

    La table CATEGORIE comporte comme champ CODECAT qui constitue la cl primaire.La table produit comporte galement le champ CODE CAT car chaque produit appartient une catgorie. On dit que ce champ constitue la cl trangre de la table PRODUIT. La relation est du type UN - PLUSIEURS : Une catgorie comporte plusieurs produits. QUEL EST LINTERET DES RELATIONS ? La mise en relation de tables vite la redondance dinformations : par exemple le champ LIBELLECAT na pas figurer dans la table PRODUIT car partir dun numro de produit donn on connait le codecat qui lui-mme nous permettra de connatre, grce la relation, le libell de la catgorie. COMMENT DETERMINE-TON LES RELATIONS A DEFINIR ? En respectant trois rgles :

    SOAD LHARAOUI/CPCF : ACCESS 12

    Relation

    Cl primaire

    Cl trangre

    ATTENTION AUX ABUS DE LANGAGE :Dans la thorie des bases de donnes relationnelles, le terme relation na pas le mme sens. Dans La terminologie Access, une relation reprsente une JOINTURE. Sagissant dune jointure entre une cl primaire et une cl trangre, on parle de jointure naturelle.

  • Le bon sens et la logique prdominent en la matire : par exemple entre la table PRODUIT et la table REGLEMENT il ny aucune relation logique

    les relations doivent tre de type UN PLUSIEURS, ou UN UN : contre exemple : Il ny a pas de relation directe possible entre la table PRODUIT et la table CLIENT car plusieurs produits peuvent tre achets par plusieurs clients

    la table ct UN comporte une cl primaire et la table ct PLUSIEURS comporte une cl trangre du mme nom

    II. ApplicationVous allez mettre en relation la table produit et la table catgorie

    A. Cration des relations entre la table Produit et Catgorie 1. Ouvrez la base de donnes PAPETIERE.MDB

    2. Activez le menu Outils - relations3. La bote de dialogue Ajouter une table est affiche lcran. Vous devez slectionner les tables devant tre mises en relation (soit PRODUIT et CATEGORIE). Cliquez sur le bouton Ajouter pour ajouter la table slectionne et sur le bouton Fermer pour fermer la bote de dialogue. Vous devez obtenir lcran suivant :

    Remarque : pour dplacer les tables lcran pointez le titre de la table et faites glisser.

    4. Crez la relation en faisant glisser le champ CODECAT de la table CATEGORIE (ct UN) vers le champ CODECAT de la table PRODUITS (ct PLUSIEURS) (Cf schma ci-dessus). La bote de dialogue suivante apparat :

    Remarques : a) Lintgrit rfrentielle signifie quun code catgorie saisi dans la table PRODUIT doit avoir t au pralable saisi dans la table CATEGORIE. Inversement, si on essaie de supprimer une catgorie donne de produits (dans la table catgorie) alors quil existe des produits appartenant cette catgorie, ACCESS refusera de supprimer la catgorie concerne.Pour crer des relations UN PLUSIEURS on doit obligatoirement cocher la case Appliquer lintgrit rfrentielleb) La case Mettre jour en cascade les champs correspondants , lorsquelle est coche, permet de changer automatiquement les valeurs du champ cl trangre de la table ct plusieurs lorsquon modifie la valeur correspondante dela cl primaire ct un. Pour cela, la case appliquer lintgrit rfrentielle doit tre coche c) La case Effacer en cascade les enregistrements correspondants , lorsquelle est coche, permet de supprimer les enregistrements de la table ct Plusieurs dont la cl trangre fait rfrence une valeur de cl primaire dans la table ct Un que lon a effac. En dautres termes, si on supprime une Catgorie de produit donne dans la table catgorie, tous les produits de la catgorie donne seront effaces en cascade. Pour utiliser cette option, il faut appliquer lintgrit rfrentielle .

    5. Pour avoir une reprsentation concrte de la relation tablie entre les tables CATEGORIE et PRODUIT, ouvrez la table CATEGORIE (ct 1) en mode feuille de donnes :

    SOAD LHARAOUI/CPCF : ACCESS 13

    Cochez la case Appliquer lintgrit rfrentielle puis vrifiez que soit coche la case Une plusieurs cliquez sur Crer pour terminer.

  • ACCESS a ajout gauche une colonne supplmentaire contenant des symboles +. Ce symbole indique la prsence denregistrements lis. Un clic sur lun de ces symboles ouvre les enregistrements lis, cela donne pour la catgorie OUV :

    APPLICATION NON GUIDEE :Crez la relation existante entre la table CLIENT et la table REGLEMENT.

    UTILISER ACCESS AVEC PLUSIEURS TABLESDeuxime sous-partie : Crer une requte et un formulaire multi-tables

    I. Crer une requte multi-tables et un formulaire fonde sur une requteA/ Cration de la requte

    1. Une requte multi-tables est une requte fonde sur 2 ou plusieurs tables. Vous allez crer une requte permettant dafficher tous les champs de la table Produit et le libell de la catgorie de produit. Cette requte servira de base un nouveau formulaire de saisie des produits.

    2. Dans la fentre Base de donnes, cliquez sur longlet Requte puis sur le bouton Nouveau et Requte vierge

    3. Slectionnez les tables PRODUITS et CATEGORIE.4. Dans la fentre Cration de requte, faites glisser tous les champs de la table PRODUIT dans la

    grille dinterrogation (ou mieux faites glisser l* vers la grille dinterrogation, ce qui produit le mme rsultat)

    5. Faites ensuite glisser le champ LIBELLE CAT. Vous devez obtenir lcran suivant :

    6. Visualisez le rsultat de la requte en mode feuilles de donnesLa feuille de donnes comporte une ligne vide qui indique quon peut ajouter des enregistrements7. Si les produits ne sont plus classs par ordre croissant du CODEART :

    Revenez en mode cration de requteFaites glisser le champ CODEART dans la grille dinterrogationSlectionnez loption de tri croissantDsactivez loption afficher pour viter le double affichage du code produitVrifiez le rsultat en mode feuilles de donnes

    8. Enregistrez la requte sous le nom Requte formulaire produits B/ Cration du formulaire

    SOAD LHARAOUI/CPCF : ACCESS 14

    Avec une requte Multi-tables il est conseill dafficher le nom des tables (menu : Affichage Nom des tables)

    ACCESS applique la relation UN-PLUSIEURS dfinie prcdemment ( la relation sappelle ici une jointure). Linconvnient est quon ne peut pas ajouter denregistrements. Pour ce faire, dsactivez la relation un-plusieurs :- Slectionnez la jointure en cliquant dessus- Appuyez sur la touche Suppr (les symboles 1-plusieurs ont disparu mais la jointure reste)

  • Crez le formulaire 2 Saisie/modification des produits , ce formulaire est fond sur la requte nomme Requte formulaire produits et doit tre ralise avec lassistant. A un moment donn lassistant propose de choisir entre un affichage par CATEGORIE ou un affichage par PRODUIT :

    Choisissez par PRODUIT de manire avoir un tri des donnes par produit plutt que par catgorie. Choisissez une prsentation permettant un affichage par produit (par exemple la prsentation Justifi ) et un style (selon votre got).

    Saisissez le titre du formulaire : 2 Saisie/Modification du formulaire . Pour terminer, ouvrez le formulaire en mode formulaire (choix par dfaut propos dans le

    dernier assistant). Vous devez obtenir ceci :

    UTILISER ACCESS AVEC PLUSIEURS TABLES : 3me sous-partie : Crer une zone de liste modifiables

    C/ Modification du formulaireVous allez effectuer des modifications dans la prsentation du formulaire 2 Saisie/Modification des produits , en particulier en remplaant le contrle CODECAT par un bouton liste modifiable :Rsultat obtenir au final :

    QUELQUES PRECISIONS :Le formulaire 2 Saisie Modification/des produits se prsente comme suit en mode cration :

    Pour slectionner un contrle, on clique sur sa bordure

    ici, la zone de texte PUHT et son tiquette ont t slectionnes

    SOAD LHARAOUI/CPCF : ACCESS 15

    Les diffrents lments apparaissant dans ce formulaire sont appels des contrles Il existe diffrents types de contrle :

    Zones de texte : ils correspondent des champs de tables ou de requtes

    Etiquettes : contiennent la lgende des champs ou un texte fixe

    Zone de texte

    Etiquettes

    La grille permet dajuster la position des lments lcran. Cette grille napparait pas en mode formulaire

    Ce bouton permet de choisir les codes catgories .

    A partir des libells de la catgorie. Donc inutile dapprendre les codes par cur J

  • Pour dplacer une zone de texte et ltiquette associe, on pointe la bordure et on fait glisser

    (le pointeur prend la forme dune main : ) Pour dplacer un des deux lments, on pointe le coin suprieur gauche du contrle (Le curseur

    prend la forme dun doigt ) Pour supprimer un contrle on le slectionne et on appuie sur la touche Suppr. Remarque : la suppression dune zone de texte nentraine aucunement la suppression du champ

    de la table ou requte source. ACTIVITE : Slectionnez les tiquette et zone de texte CODECAT et supprimez les

    Crez un bouton liste droulante en cliquant sur le bouton Liste modifiable de la barre doutils Bote outils (si celle-ci nest pas affiche : slectionnez le menu Affichage Barres doutils - Bote outils). Le pointeur prend la forme dune croix avec un petit rectangle

    Ajoutez et alignez le champ CODECAT la place du contrle CODECAT que vous venez de supprimer

    Compltez les botes de dialogue successives de lAssistant zone de liste :

    la recherche des lments provient dune table Slectionnez la table CATEGORIE dans la liste :

    Les colonnes inclure dans la zone de liste sont CODECAT et LIBELLECAT :

    Rduisez la largeur de la colonne contenant le code cat et largissez celle du libell cat

    Remarque : Comme le champ LIBELLECAT est dj affich dans le formulaire, on doit ici afficher le champ CODECAT, cest pourquoi, il faut dcocher la case Colonne cl cache . Si laffichage de la cl ntait pas important pour lutilisateur, on aurait pu simplement afficher le LIBELLECAT (et laisser la case coche)

    La valeur utilisable est CODECAT :

    La valeur choisie est stocker dans le champ CODECAT (de la table PRODUIT) :

    SOAD LHARAOUI/CPCF : ACCESS 16

    Dcochez cette case (voir remarque ci-aprs)

    Pour modifier la taille, faites glisser droite ou gauche la colonne

    Ici on vous demande en fait quelle valeur vous souhaitez afficher. Comme on souhaite afficher la valeur du CODECAT, on slectionne ce champ

  • Ltiquette de la zone de liste (en quelque sorte sa lgende) est CODECAT :

    Il ne reste plus qu positionner correctement les tiquette et zone de liste modifiable CODECAT

    correctement sur la grille Testez le formulaire (cliquez sur le bouton Affichage - mode formulaire) Saisissez lenregistrement suivant :

    20 Tout sur Merise 2 - 5,50% - 120 F - catgorie : ouvrage REMARQUE :La cration dune zone de liste modifiable peut se faire automatiquement si et seulement si, lors de la cration du champ CODECAT dans la table PRODUIT on dfinit une liste de choix :La table PRODUIT est ouverte en mode cration et le champ CODECAT est slectionn :

    Revenez en mode cration de formulaire pour amliorer la prsentation :

    Utilisez les boutons suivants pour dfinir les couleurs :

    Couleur darrire-plan Couleur de police Couleur de bordure Visualisez le formulaire en cliquant sur le bouton Affichage Mode formulaire Le coin des experts : Essayez de modifier la valeur contenue dans le champ LIBELLE CAT. Que se

    passe-t-il ? Comment rsoudre le problme ? APPLICATION NON GUIDEE

    SOAD LHARAOUI/CPCF : ACCESS 17

    Il faut indiquer ACCESS que la valeur slectionne met jour le champ CODECAT de la requte source (qui sappuie sur la table CATEGORIE)

    Dans la fentre des proprits on slectionne Liste de choix

    On slectionne le contrle

    On slectionne la table source

    On slectionne la source des donnes

    On slectionne colonne contenant CODECAT dans la table CATEGORIE (soit la colonne 1)

    On slectionne Le nombre de colonnes afficher lorsquon clique sur le bouton Liste droulante

    Cadre dessin avec loutil Rectangle et le bouton 3D Enfonc : et une taille de bordure de 4:

    Ce contrle a t largi avec la souris

    Ces contrles ont t dplacs

    Attention: pour que les donnes lintrieur du rectangle orange soient accessibles, le rectangle doit tre en arrire-plan (aprs avoir slectionn le rectangle, menu Format Arrire-plan)

  • Crez une requte multi tables fonde sur CLIENT et REGLEMENT permettant dafficher lensemble des champs de la table CLIENT et le libell du mode de rglement. Attention la position du champ Libell rglement qui doit tre plac aprs CODE REG. ENREGISTREZ LA REQUTE SOUS LE NOM : REQUETE FORMULAIRE CLIENTS

    Crez un formulaire de saisie de type Colonne simple fonde sur la requte prcdente. ENREGISTREZ LE FORMULAIRE SOUS LE NOM : 2 Saisie/Modification des clients

    Personnalisez ce formulaire votre got mais en prvoyant un contrle liste modifiable la place du champ CODEREG.

    UTILISER ACCESS AVEC PLUSIEURS TABLES Quatrime sous-partie : Crer un tat

    Les Etats Alors quun formulaire permet laffichage lcran, un tat permet dimprimer des donnes soit sous forme de fiches soit sous forme de tableau. On veut imprimer le catalogue des produits classs par code croissant et connatre le nombre de rfrences pour chaque catgorie CONNAISSANCES PREALABLES : Structure dun ETAT

    Un tat comporte plusieurs sections :

    Entte dETATCATALOGUE DES PRODUITS

    Date : 20/11/2001Entte de page

    LIBELLECAT CODEART DESIGNART TVAART PUHT

    Entte de groupe (Libelle cat)Accessoires Fournitures

    Dtail 1 Transparents. 19.60% 30.00 F 2 Transparents

    manuels19.60% 13.50 F

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

    Pied de groupe (Libelle cat) Nombre darticles de la catgorie 4

    Pied de pagePAGE 1/x

    PIED DETAT COMMENTAIRE :les sections sont hirarchises La section Entte dETAT apparat une seule fois sur la 1re page de ltat et la section Pied dtat

    apparat la fin de ltat en dernire page Les sections Entte et Pied de page apparaissent sur chaque page : en entte on indique

    gnralement les tiquettes de champs Les sections enttes et pieds de groupe permettent de regrouper plusieurs enregistrements par

    catgorie (dans lexemple le regroupement se fait par Libell de catgorie - La premire catgorie est Accessoires Fournitures qui regroupe 6 enregistrements.

    La section dtail est le niveau de base : Dans lexemple la section Dtail contient les enregistrements relatifs aux produits.

    ACTIVITES :

    SOAD LHARAOUI/CPCF : ACCESS 18

  • 1. Crez, laide de lassistant Etat, lEtat CATALOGUE DES PRODUITS fonde sur la requte Requte formulaire produits : Revenez dans la fentre Base de donnes Slectionnez lobjet Etat Cliquez sur longlet Nouveau Etape 1 :Dans la liste des tables et requtes, slectionnez la requte Requte formulaire des

    produits

    Slectionnez tous les champs

    Etape 2 : Slectionnez loption de regroupement par CATEGORIE

    Etape 3 : Il est possible dterminer un sous-niveau de regroupement (on pourrait par exemple demander un regroupement par taux de TVA)

    Etape 4 : Dfinition des critres de tri

    SOAD LHARAOUI/CPCF : ACCESS 19

  • Les options de synthse permettent de calculer des sommes, des moyennes sur des champs numriques. Dans lapplication prsente, elles ne prsentent aucun sens (on ne va pas additionner des taux de TVA ou des prix unitaires).

    Etape 5 : le choix dune prsentation

    UTILISER ACCESS AVEC PLUSIEURS TABLESQuatrime sous-partie : Crer un tat (page 2/2)

    Etape 6 : Choix dun style

    Etape 7 : Saisissez le titre de ltat : CATALOGUE DES PRODUITS puis cliquez sur le bouton Terminer

    Visualisez ltat en mode aperu :

    SOAD LHARAOUI/CPCF : ACCESS 20

    Slectionnez la prsentation ici

    Slectionnez lorientation de ltat

    Evite que les champs ne soient coups

  • 1. Modification de lEtatOn aimerait avoir pour chaque groupe de produits le nombre de produits du groupe. Pour cela il faut afficher la section Pied de groupe , puis y inclure un contrle zone de texte contenant une formule de calcul.a) Afficher un pied de groupe :Basculer en mode crationMenu Affichage Trier et grouper

    b) crer une zone de texte

    Dans la barre doutils Bote outil slectionnez loutil zone de texte Dans le pied de groupe prcdemment affich, dessinez la zone de texte (largeur 4cm), vous devez obtenir ceci :

    Dplacez lensemble pour le positionner gauche,Changez le texte de ltiquette (Texte21 par exemple) pour indiquer : Nbre de ProduitsDans la zone de texte remplacez la valeur Indpendant par la formule suivante :

    = Compte([CODE PROD])

    Modifiez la largeur des contrles et vrifiez en mode aperu avant impression :Vous devez obtenir ceci (pour la catgorie ouvrages par exemple) :

    Enregistrez ltat sous le nom : Catalogue des produits puis imprimez APPLICATION NON GUIDEE FACULTATIVE On voudrait raliser un Etat Liste des clients class par code client. Les champs prvoir sont :CODECLI, NOMCLI, RUECLI, CPCLI, VILLECLI, CODEREG, LIBELLEREG, ENCOURSCLI, PLAFONDCLICet tat sera fond sur la requte Requte formulaire clients cre dans lapplication non guide facultative

    SOAD LHARAOUI/CPCF : ACCESS 21

    Mettre cette valeur Oui

  • LES FORMULAIRES ET LES SOUS FORMULAIRES Les dirigeants de la socit Papetire souhaiteraient maintenant grer les commandes des clients.Vous allez donc laborer la structure des tables ncessaires et raliser un formulaire de saisie des commandes. ANALYSE DU PROBLEME :Examinez le bon de commande ci-dessous :

    ETS BUROMAT

    COMMANDE N1 du 15/03/2001Code client : 00007

    Code rglement

    4 90 jours fin de mois

    Le Soleil de Tunis125, place du Barlet59500 DOUAI

    Code produit Dsignation Qts commandes P.U. H.T. % TVA00006 Bote de CD-R 74 mn/10 20 00012 Support mural pour

    moniteur4

    00014 Crer un site avec Front Page

    2

    00001 Transparents photocopieurs/10

    100

    Entourez en vert les donnes saisir - en rouge les donnes qui saffichent automatiquement et en bleu les donnes calcules.De quelles tables sont issues les donnes qui saffichent automatiquement ?CONCLUSION :Pour enregistrer les commandes des clients on doit crer deux tables :

    ACTIVITES PRATIQUES

    I. CREATION DES TABLES COMMANDE ET LIGNE COMMANDE

    1. Ouvrez la base de donnes PAPETIERE.MDB2. Crez la structure de la table COMMANDE (Objet Table - Bouton Nouveau)- Indications relatives la structure de la table commande :

    NOCOM Type NumroAuto - Format : 00000 (Le n de commande sera automatique)

    DATECOM Type Date et heure - Format : Date abrge CODECLI Type Numrique - Entier long - Format 00000 (Comme dans la table

    client) RESPECTEZ SCRUPULEUSEMENT LE NOM DES CHAMPS CLES PRIMAIRES ET CLES ETRANGERES POUR ETABLIR ULTERIEUREMENT DES RELATIONS FACILEMENT.

    SOAD LHARAOUI/CPCF : ACCESS 22

    COMMANDE NOCOMDATE COMCODECLI

    LIGNECOMMANDE NO COM+CODEPRODDATECOMQTESCOM

    Cl primaire de la table COMMANDE

    Cl trangre de la table COMMANDE. Ce champ permettra dtablir une relation avec la table CLIENT

    REMARQUE : Il est inutile dinclure le nom, ladresse du client... car ces donnes sont contenues dans la table CLIENT. On vite ainsi la REDONDANCE de donnes responsable dune surcharge inutile du disque dur. UNE BASE DE DONNEES OPTIMISEE EST UNE BASE DE DONNEES SANS REDONDANCE

    La cl primaire est compose du numro de comande ET dun code produit. Car la quantit commande dpend la fois du N de commande et du code produit. On pourra ainsi tablir une relation (jointure) entre :la table commande et la table LIGNE COMMANDE

    etLa table LIGNE COMMANDE et PRODUIT

  • 3. Dfinissez la cl primaire (champ NOCOM)4. Enregistrez la table sous le nom : COMMANDE5. Crez la structure de la table LIGNE COMMANDE- Indications relatives la structure de la table commande :

    NOCOM Type Numrique - Entier long - Format 00000 (Remarque le type Entier long est compatible avec un champ compteur)

    CODEART Type Numrique - Entier long - Format 00000 QTESCOM Type numrique - Entier (On considre que les quantits commandes

    pour un article ne dpasseront pas 32767 units - les quantits sont des nombres entiers sans dcimales)

    6. Dfinissez la cl primaire (champ NOCOM et CODEART) : La cl primaire se compose de deux champs. Par consquent slectionnez les deux champs en mme temps en utilisant le slecteur de champ, avant de cliquer sur le bouton Cl primaire. :

    7. Enregistrez la table sous le nom LIGNE COMMANDE

    II. CREATION DES RELATIONS ENTRE LES TABLES1. Fermez la table LIGNE COMMANDE2. Slectionnez le menu Outils - Relations...3. Dans le menu Affichage, slectionnez loption Ajouter une table puis slectionnez les tables COMMANDE et LIGNE COMMANDE

    4. Crez les relations entre les tables COMMANDES, CLIENTS puis entre COMMANDE et ET LIGNE COMMANDE et PRODUIT ET LIGNE COMMANDE conformment au schma des relations suivants :

    LES FORMULAIRES ET LES SOUS FORMULAIRESIII. SAISIE DIRECTE DUNE COMMANDE DANS LES TABLESVous allez maintenant saisir la commande n 1 - voir page 1 -Vous allez devoir saisir un enregistrement dans la table COMMANDE et plusieurs enregistrements dans la table LIGNE COMMANDE, heureusement, ACCESS 2000 associe chaque enregistrement de la table COMMANDE un ou plusieurs enregistrements de la table LIGNE COMMANDEDans la table commande saisissez lenregistrement suivant : NOCO

    MDATECOM CODECLI

    00001 15/03/01 7Aprs validation de lenregistrement, Un signe + dans la colonne de gauche indique quil y a des donnes lies lenregistrement :

    Un clic sur ce symbole et il est alors possible de visualiser les enregistrements de la table lie LIGNE COMMANDE ou dajouter, comme vous allez le faire des enregistrements :

    SOAD LHARAOUI/CPCF : ACCESS 23

    Slecteur de champ

  • Saisissez maintenant Dans la table lie LIGNE COMMANDE les enregistrements relatifs la 1re commande :

    NO COM CODEPROD QTES COM00001 00006 2000001 00012 400001 00014 200001 00001 100

    Vous devez avoir ceci lcran :

    REMARQUE : Dans la table lie le chmp NOCOM qui sert de lien entre les deux tables nest pas affich. En fait, ce champ se met jour automatiquement.

    Pour le vrifier, il suffit dafficher la table LIGNE COMMANDE en mode table :NOCO

    MCODEART QTESCOM

    00001 00001 10000001 00006 2000001 00012 400001 00014 2

    Ce champ sest rempli automatiquement.

    1. IV. LE COIN DES AMATEURS : CREATION DUN FORMULAIRE AVEC UN SOUS FORMULAIREVous avez pu apprcier la facilit avec laquelle on saisit une commande directement dans les tables (SIC). Vous allez crer un formulaire de saisie des commandes. Ce formulaire va comprendre les champs de la table COMMANDE et un sous-formulaire incluant les champs de la table LIGNE COMMANDE.MODE OPERATOIRE : 1. Fermez toutes les tables 2. Dans la fentre Bases de donnes, slectionnez lobjet Formulaire puis cliquez sur Crer un formulaire en utilisant lassistant 3. Slectionnez la table COMMANDE et slectionnez les champs figurant dans le formulaire

    Slectionnez ensuite la prsentation Colonne simple Saisissez un nom pour le formulaire et cochez la case Modifier la structure du formulaire

    SOAD LHARAOUI/CPCF : ACCESS 24

  • Vous devez obtenir peu prs ceci :

    4. Agrandissez la taille du formulaire Insertion du sous-formulaire

    Cliquez sur le bouton Sous formulaire/sous tat : Dessinez une zone rectangulaire de 10 cm de large sur 5 de hauteur Dans lassistant formulaire, indiquez la source des donnes du sous formulaire

    Le choix effectif des champs se fait dans la bote de dialogue suivante :

    Etape suivante : rien faire

    Etape suivante : Attribution dun nom pour le sous-formulaire :

    SOAD LHARAOUI/CPCF : ACCESS 25

    En faisant glisser le pied de formulaire vers le bas, vous pouvez agrandir le formulaire

    1) Slectionnez la table LIGNE COMMANDE

    2) Slectionnez Les champs faire figurer dans le sous-formulaire, soit CODEART et QTESCOM

    3) Cliquez sur ce bouton pour chaque champ slectionn

  • Le rsultat final est le suivant :

    en mode cration :

    En mode affichage formulaire :

    Pas trs lgant : en mode cration, augmentez la taille du sous-formulaire de manire ce que 10 enregistrements du sous-formulaire

    puissent tre visibles Augmentez la largeur des colonnes Changez ltiquette du sous-formulaire en indiquant Articles en commande Changez le texte des tiquettes : NOCOM en N de commande, DATECOM en Date de commande et

    CODECLI en Code client 5. Enregistrez les changements effectus dans le formulaire et le sous-formulaire6. Saisissez la commande n 2, en mode formulaire, figurant ci-dessous. Vous devez au pralable codifier le code client et les codes produits en consultant les tables clients et produits.ETS Papetire COMMANDE N 2 du 16/03/2001 Code client Micropuce

    Code produit Dsignation Qts commandes Crer un site avec FrontPage 5 Bote de CD-R 74 mn/10 6 Le mmento du comptable dbutant 10 Transparents photocopieurs/10 30

    7. Fermez le formulaireLES FORMULAIRES ET LES SOUS FORMULAIRES

    V. LE COIN DES PROS : CREATION DU FORMULAIRE COMMANDE FONDE SUR DES REQUETES.

    Lutilisation de sous-formulaires fonds sur des tables prsente un inconvnient majeur : il nexiste aucun moyen de contrle lors de la saisie du code produit ou du code client. Dautre part les champs calculs ntant pas intgrs aux tables, il napparatront pas dans le sous formulaireOn va donc crer deux requtes : Lune permettant la saisie de la date de commande et laffichage de lidentit et ladresse du client.

    Cette requte servira pour le formulaire principal

    SOAD LHARAOUI/CPCF : ACCESS 26

    Vous pouvez laisser le nom propos par Access

    Donnes provenant de la TABLE COMMANDE (formulaire principal)

    Donnes provenant de la table LIGNE COMMANDE (sous-formulaire)

  • Lautre qui permettra la saisie du Code produit, des quantits commandes et laffichage : du prix unitaire, du taux de TVA. On profitera galement de cette requte pour crer des champs calculs :

    A. Cration des requtes

    A1 La requte permettant d'obtenir l'entte du bon de commande (formulaire principal)

    Slectionnez lobjet requte - cliquez sur Nouveau et Mode cration. Slectionnez chaque table et cliquez sur ajouter (tables slectionner : COMMANDE,

    CLIENT, REGLEMENT)

    Dans le menu affichage vrifiez que loption soit coche (cette option est trs importante lorsquon cre des requtes multitables

    Faites glisser les champs utiles (dans lordre dapparition dans le formulaire)La liste des champs et les tables sources sont indiques ci-aprs :

    Visualisez le rsultat de la requte en cliquant sur le bouton Affichage - Feuille de donnes

    Fermez la requte et enregistrez la sous le nom ENTETE BC (entte bon de commande) A2 La requte permettant dobtenir le corps du bon de commande :

    Slectionnez lobjet requte - cliquez sur Nouveau et Mode cration. Slectionnez chaque table et cliquez sur Ajouter (tables slectionner : PRODUIT et LIGNE

    COMMANDE) Faites glisser les champs utiles (dans lordre dapparition du formulaire)

    Les champs inclure sont indiqus ci-aprs :

    2. Cration de champs calculsPour chaque ligne du bon de commande, on veut connatre : Le montant HT (=QTESCOM*PRIX UNITAIRE) Le montant de la TVA (=HT*taux de TVA)Avant de procder, insrer une colonne juste avant TVAART : Slectionnez la colonne TVAART puis cliquez sur Insertion - Colonnes

    SOAD LHARAOUI/CPCF : ACCESS 27

    Ces 3 champs seront mis jour chaque nouvelle commande. Les autres champs ne sont affichs qu titre dinformation et de contrle

  • Rsultat obtenir :

    Formatez les deux champs calculs en Montaire 2 Dcimales (Slection du champ puis clic sur le bouton Proprits)

    Visualisez le rsultat de la requte en cliquant sur le bouton Affichage Mode Feuille de donnes Fermez la requte et enregistrez la sous le nom CORPS BC

    B. Cration du formulaire de saisie des commandes (2me version)

    B1 Cration du formulaire principal (saisie des commandes)

    Fermez toutes les tables Dans la fentre Bases de donnes, slectionnez lobjet Formulaire puis cliquez sur Crer un

    formulaire en utilisant lassistant Slectionnez la requte ENTETE BC puis slectionnez tous les champs de la requte qui devront

    figurer dans le formulaire Laffichage des donnes se fait par commande :

    La prsentation du formulaire est en colonnes simples Le titre du formulaire est : Saisie des commandes :

    Afficher la structure du formulaire en mode cration :

    Il ne reste plus qu inclure le sous-formulaire contenant les lignes de chaque commande :

    En mode cration de formulaire, augmentez la taille du formulaire :

    B2 Cration du sous-formulaire Articles en commande

    Cliquez sur le bouton assistant sous-formulaire/sous-tat :

    SOAD LHARAOUI/CPCF : ACCESS 28

    Champs calculs qui ne sont pas stocks dans les tables. Ces champs ont pour nom HT et MTVA. Lexpression est saisir. Access ajoute les [ ] lorsquon les omet la saisie

    Pour augmenter la hauteur du formulaire, faites glisser cette barre

    Pour augmenter la largeur du formulaire, faites glisser ce trait droite

  • Tracez lcran en dessous du champ MODEREG, le sous-formulaire Dans lassistant, indiquez que la source des donnes provient dune table ou dune requte existante

    :

    Slectionnez ensuite la requte source (soit CORPS BC) et slectionnez tous les champs.

    Il faut ensuite indiquer lassistant quel est le champ permettant de lier le formulaire principal (contenant en fait lentte du bon de commande) avec le sous-formulaire (en fait les lignes de commande) :

    REMARQUES : Lorsque le formulaire et le sous-formulaire sont fonds sur des tables et que des relations ont t

    tablies entre les tables sur la base de cls primaires et trangres, ACCESS sait automatiquement dterminer le champ qui sert de liaison entre le formulaire et le sous-formulaire. En revanche, lorsque le formulaire et/ou le sous-formulaire sont fonds sur des requtes, il faut dfinir soi-mme le champ de liaison.

    Le champ NOCOM du formulaire principal est appel champ Pre et le champ NOCOM du sous-formulaire est appel champ Fils :

    Un Pre a 1 ou plusieurs Fils mais un Fils na qu1 seul Pre. Dans lexemple, en effet, une commande (identifi par un numro de commande unique) comporte plusieurs lignes (chaque ligne est identifie par un numro de commande ET un numro de produit)

    Donnez un nom significatif au sous-formulaire avant de terminer la cration du sous-formulaire :

    C/ Le fignolageLe formulaire est maintenant cr mais la mise en forme laisse certainement dsirer. Basculez en mode cration et dplacez les champs, renommez certaines tiquettes et augmentez la taille du sous-formulaire pour obtenir une prsentation ressemblant cela :

    SOAD LHARAOUI/CPCF : ACCESS 29

    Cochez cette case

    Cliquez sur le bouton et slectionnez le champ NOCOM

    Procdez de la mme manire

  • Elments de modes opratoires : Les tiquettes concernant lidentit du client ont t supprimes Pour modifier le sous-formulaire, il faut dabord fermer le formulaire Saisie des commandes en

    prenant soin de sauvegarder les modifications. Puis dans la fentre de base de donnes, il faut ouvrir le sous-formulaire Articles en

    commande et laffichez en mode feuille de donnes (Bouton Affichage Feuille de donnes)

    Slectionnez toutes les colonnes et appliquez une taille de police de 8 Slectionnez la colonne NOCOM et masquez la (menu Affichage Masquer Colonnes) car cette

    colonne se met jour automatiquement et contient pour chaque commande la mme valeur que celle figurant dans le formulaire principal.

    Ajustez ensuite la largeur de toutes les colonnes pour que le sous-formulaire saffiche correctement dans le formulaire principal.

    Enregistrez le sous-formulaire (en conservant le mme nom : Articles en commande et fermez le.

    Ouvrez le formulaire Saisie des commandes et vrifiez la prsentation (au besoin procdez aux modifications qui simposent)

    REMARQUE : La relation Pre-Fils est synonyme de relation UN-PLUSIEURS : Un pre a plusieurs FilsCela signifie quun NO COM de la table COMMANDE correspond plusieurs lignes commandes.

    D/ Test du formulaire avec une commande

    Saisissez la commande n 3, codifiez au pralable le code client et les codes de produits :ETS Papetire

    COMMANDE N3 du 16/03/2001

    Code client CRIONCode

    produitDsignation Qts commandes

    Bote de CD-R 74 mn/10 20 Bote de CD-RW /10 20 Filtre anti-reflet pour moniteur 8

    Fermez le formulaire principal et enregistrez le sous le nom : Saisie des commandes

    V. LE COIN DES EXPERTS : INSERTION DE TOTAUX DANS UN FORMULAIRE - CREATION DE LISTES MODIFIABLES

    ATTENTION : Cette partie devient trs technique. vous pouvez la contourner en saisissant les bons de commande de lannexe 1 en utilisant le formulaire Saisie des commandes Pour les futurs experts dACCESS, vos claviers :

    SOAD LHARAOUI/CPCF : ACCESS 30

  • Commencez dabord par enregistrer le Formulaire Saisie des commandes sous le nom Saisie des commandes 2 . Enregistrez ensuite le sous-formulaire Articles en commande sous le nom Articles en commande 2 (Dans la fentre Base de donnes, slectionnez lobjet Formulaire et cliquez sur Modifier. Puis Fichier enregistrer sous.). Fermez ensuite tous les formulaires. Pour mettre des sous-totaux dans le formulaire principal deux tapes sont suivre :- Mettre les sous totaux dans le pied de page du sous-Formulaire- Mettre une formule dans le pied de page du formulaire principal.

    1. Mettre des sous totaux dans le pied de page du sous formulaire : Ouvrez le sous-formulaire 2 Articles en commande 2 en mode Cration Affichez la bote outils (Menu affichageBote outils)

    Cliquez sur le bouton zone de texte : figurant dans la bote outils Crez le champ TOTAL HT dans le pied du formulaire Articles en commande 2 Nommez ltiquette TOT HT Saisissez la formule suivante dans la zone de texte :

    =Somme([HT])Ce qui donne ceci :

    Il faut maintenant dfinir un format pour la zone de texte : Slectionnez la zone de texte

    Cliquez sur le bouton proprit Dans la bote de dialogue Proprits, cliquez sur longlet Format :

    Slectionnez le format Montaire et 2 dcimales Donnez un nom significatif au contrle (car ce nom sera utilis ultrieurement dans un autre

    formulaire) :

    Procdez de mme pour les champs TOT TVA et TOT TTC ( paramtrer comme suit :)

    Le pied de formulaire en mode cration doit ressembler ceci :

    SOAD LHARAOUI/CPCF : ACCESS 31

    Etiquette

    Zone de texte : correspond un champ (de table ou calcul)

    Nom donn la zone de texte et qui pourra servir dans un

    autre formulaire

    indique lorigine des donnes, peut tre le nom dun champ dune

    table ou comme ici une expression calcule

    Remplacez le texte inscrit ici par TOT HT

  • Visualisez le formulaire Saisie des commandes 2 : les totaux concernent toutes les lignes de toutes les commandes :

    2. Inclure les champs prcdemment calculs dans le formulaire pricipal

    Fermez dabord le sous-formulaire Articles en commandes 2 Ouvrez le formulaire Saisie des commandes 2 en mode cration Modifiez la liaison entre le formulaire principal et le sous formulaire :

    - Slectionnez le sous-formulaire- Affichez les proprits- Cliquez sur longlet toutes et modifiez la proprit Objet source et Nom en saisissant :Articles en commande 2

    Dans le pied du formulaire, crez maintenant 3 zones de textes :

    Paramtrez ces zones de texte pour obtenir ceci :

    Le dtail est donn ci-dessous pour chaque zone de texte :

    Plutt que de saisir les formules et risquer une erreur de saisie, Access met votre disposition un gnrateur dexpression. Voir lexemple ci dessous pour la zone de texte TOT HT

    Le gnrateur dexpressions :Au lieu de saisir la proprit Source contrle soi-mme, cliquez sur le bouton Gnrateur dexpressions qui apparat lorsquon clique dans certaines proprits : Ce gnrateur se prsente comme suit :

    SOAD LHARAOUI/CPCF : ACCESS 32

    Ajoutez ici un espace et un 2

  • Aprs avoir cliqu sur le bouton Coller, on obtient :

    3. Des zones de liste modifiablesLe formulaire prcdent prsente encore un dfaut : lorsquune commande est saisie par tlphone, si le client ne connat pas les codes, il va devoir chercher dans les tables le code du client, le code des produits commandsDans le formulaire, on va donc transformer les zones de texte en zone de listes modifiables. Exemple : Code client Avant

    Aprs

    Mode opratoire :

    En mode cration, slectionnez le contrle contenant le numro de client Cliquez sur le menu Format Remplacer par - Zone de liste modifiable Affichez ensuite les proprits de la zone de liste et paramtrez les proprits suivantes :

    SOAD LHARAOUI/CPCF : ACCESS 33

    1) Slectionnez lobjet concern par lexpression (ici le sous formulaire Articles en commande 2

    2) Slectionnez ensuite le contrle concern par lexpression (ici la zone de texte TOT HT)

    3) Valeur est slectionne par dfaut

    4) Cliquez ici pour gnrer lexpression

    5) Validez pour gnrer lexpression dans la fentre de proprits

    Un clic sur le bouton et les noms des clients apparaissent en clair

  • Affichez le Formulaire pour verifier laffichage, en mode creation, vous pouvez largir la taille de la zone de liste pour amliorer laffichage : Procdez de mme pour le code article dans le sous-formulaire :Remplacez la zone de texte CODEART en zone de liste modifiableParamtrez les proprits suivantes :Remplacez la zone de texte CODEART en zone de liste modifiableParamtrez les proprits suivantes :

    La largeur de 6 cm donne un affichage en mode cration affreux

    car le contrle empite sur les contrles voisins Mais en mode Affichage Formulaire, la taille prend tout son sens :

    SOAD LHARAOUI/CPCF : ACCESS 34

    Table contenant les donnes afficher dans la zone de liste

    La colonne 1 contient le code et la colonne 2 contient le nom des clients

    La colonne 1 contient le code dont la valeur sera conserve dans le formulaire

    La colonne 1 (codeart) a une largeur d1 cm et la colonne 2 (Designart) une largeur de 5cm de manire visualiser entirement le nom des articles lorsquon clique sur le bouton de liste

    Indique la taille maximum de la zone de la liste.

  • La saisie dans le formulaireVous disposez des autres commandes du mois de mars ci-dessous saisir dans le formulaire Saisie des commandes 2 si vous lavez ralis ou dans le sous-formulaire Saisie des commandes

    ANNEXE 1

    ETS PAPETIRE COMMANDE N 4 du 19/03/2001 code client Mcanordcode produit Dsignation qtes commandes Ramette papier multi usages 5 Stylo transparents permanents 10 Transparents photocopieurs/10 7 Programmation en javascript 2 ETS PAPETIRE COMMANDE N 5 du 22/03/2001 code client Centre franais de

    restaurationcode produit Dsignation qtes commandes Transparents photocopieurs/10 100 Transparents manuels/10 100 Stylo transparents effaables 50 Stylo transparents permanents 50 ETS PAPETIRE COMMANDE N6 du 23/03/2001 code client Assurance Azurcode produit Dsignation qtes commandes Support mural pour moniteur 4 Filtre anti-reflet pour moniteur 5 Stylo transparents permanents 20 Stylo transparents effaables 10 ETS PAPETIRE COMMANDE N 7 du 24/03/2001 code client Briko Boutikcode produit Dsignation qtes commandes Les grandes courants du management 5 Calulatrice scientifique Cazio 2 Bote de CD-RW /10 50 10 ETS PAPETIRE COMMANDE N 8 du 24/03/2001 code client Lyce Rambauxcode produit Dsignation qtes commandes Stylo transparents effaables 100 Stylo transparents permanents 100 Bote de CD-R 74 mn/10 20 ETS PAPETIRE COMMANDE N 9 du 26/03/2001 code client SriTechcode produit Dsignation qtes commandes Stylo transparents effaables 10 Stylo transparents permanents 10 Bote de CD-R 74 mn/10 2 Calulatrice scientifique Cazio 1 WebCam Sauni 2 Botes de disquettes 3,5''/10 2 Ramette papier multi usages 10 Filtre anti-reflet pour moniteur 1

    SOAD LHARAOUI/CPCF : ACCESS 35

  • CAS PAPETIERE- 5me partieLES REQUETES ACTIONS

    CONNAISSANCES DE BASE Les requtes action permettent de modifier les donnes dans les tables alors que les requtes slection et opration ne modifient en rien les donnes stockes dans les tables. Elles sont de quatre types : Cration de table Permet de crer une nouvelle table partir des enregistrements rpondant un

    critre de slectionAjout Ajoute le contenu des enregistrements correspondant au critre de slection

    une table existante (ou nouvelle)Mise jour Permet de mettre jour le contenu dun ou plusieurs champs pour les

    enregistrements slectionns correspondant au critre de slectionSuppression Permet de supprimer les enregistrements correspondant au critre de slection Pour crer une requte action, il faut :

    crer une requte slection (ou opration) pour slectionner les enregistrements

    Afficher le rsultat de la requte slection (pour contrle)

    Transformer la requte slection (ou opration) en requte action par le menu Requte ou par les boutons de la barre doutils requte

    Excuter la requte (menu Requte - Excuter ou bouton xcuter de la barre doutils) DANGER : UNE REQUTE ACTION MODIFIE LE CONTENU DES TABLES, PAR CONSEQUENT IL FAUT TRE RIGOUREUX QUANT AU CRITERE DE SELECTION

    I. CREATION ET EXECUTION DUNE REQUTE CREATION DE TABLE le thme

    Dans la table CLIENT de la base de donnes PAPETIER.MDB figure le champ ENCOURS (contenant le montant du crdit accord aux clients). Ce champ constitue une donne de situation (au mme titre quun solde de compte ou un stock) et doit tre rgulirement mis jour. Par consquent, vous allez :- crer AUTOMATIQUEMENT par requte une table ENCOURS DE CREDIT comprenant les champs suivants :

    - CODECLI- ENCOURS

    - ensuite supprimer le champ ENCOURS de la tale CLIENT- ensuite tablir une relation entre la table CLIENT et la table ENCOURS DE CREDIT

    A. CREATION DUNE REQUETE CREATION DE TABLEPlutt que de crer la structure de la table ENCOURS DE CREDIT, vous allez crer une requte Cration de tables :

    1. Cliquez sur longlet Requte puis sur le bouton Nouveau

    2. Cliquez sur le bouton puis slectionnez la table CLIENT

    3. Faites glisser les champs CODECLI et ENCOURSCLI dans la grille dinterrogation.

    4. Visualisez le rsultat de la requte Slection(bouton ) (vous devez avoir 17 enregistrements et 2 champs)

    SOAD LHARAOUI/CPCF : ACCESS 36

  • 5. En mode cration de requte, droulez le menu Requte - Cration de table ou cliquez sur le

    bouton Type de requte puis sur le bouton

    6. Dans la bote de dialogue Requte cration, saisissez le nom de la nouvelle table : ENCOURS DE CREDIT

    7. Excutez la requte (Menu Requte - Excution ou bouton Excuter de la barre doutils Requte)Un message dalerte vous informe que 17 enregistrements vont tre colls dans une nouvelle table :

    Confirmez alors en cliquant sur Oui

    8. Enregistrez la requte sous le nom Cration table Encours et fermez-la (la requte videmment !)

    Attention, si vous tentez une deuxime excution de la requte Cration, Access affichera un message derreur car la table ENCOURS DE CREDIT a t cr lors de la 1re excution. Pour signaler le danger, Le nom des requtes action (dans la liste des requtes) est prcd dun point dexclamation

    9. Vrifiez lexistence de la table ENCOURS DE CREDIT dans la liste des tables.

    10. Vrifiez la structure de la table ( affichez la table ENCOURS CREDIT en mode cration : les proprits des champs CODECLI et ENCOURS sont les mmes que dans la table CLIENT. Mais ACCESS na pas dfini de cl primaire. par consquent dfinissez la cl primaire pour le champ CODECLI

    B. SUPPRESSION DU CHAMP ENCOURS DANS LA TABLE CLIENT Comme le champ ENCOURS fait partie dune nouvelle table, vous devez le supprimer de la table CLIENT : 1. Ouvrez la table CLIENT en mode cration,

    2. Slectionnez la ligne de champ : ENCOURS

    SOAD LHARAOUI/CPCF : ACCESS 37

  • 3. Supprimez le champ

    C. ETABLIR UNE RELATION ENTRE LA TABLE CLIENT ET LA TABLE ENCOURS DE CREDIT

    Comme UN client na quUN seul encours de crdit et inversement, la relation entre les tables CLIENT et ENCOURS DE CREDIT sera du type UNE UNE. Le champ commun au deux tables est CODECLI. travail a faire : Crez la relation entre les deux tables.

    Le coin des Pros La structure de la table CLIENT ayant t modifie, les requtes, les formulaires ou les Etats fonds sur la table CLIENT ne se mettent pas automatiquement jour. Consquence : si une requte, un tat ou un formulaire utilise le champ ENCOURS, il faudra faire des modifications APPLICATION : Au cours des TD prcdents(CAS PAPETIERE : 3me partie - UTILISER ACCESS AVEC PLUSIEURS TABLES - Troisime sous-partie : Crer une zone de liste modifiable)vous avez cr le formulaire 2 Saisie/Modification des clients fond sur la requte REQUETE FORMULAIRE CLIENT Comme ces lments font rfrence au champ ENCOURS, vous allez les modifier en cascade

    1. Modifier la requte REQUETE FORMULAIRE CLIENT

    2. Dans la requte en mode cration, supprimez le champ ENCOURS qui nest plus valide

    3. Ajouter la table ENCOURS DE CREDIT (menu Requte - Ajouter une table)

    4. Faites glisser le champ ENCOURS (de la table ENCOURS DE CREDIT) vers la grille dinterrogation avant le champ PLAFOND

    5. Vrifiez le rsultat de la requte

    6. Enregistrez et fermez la requte.

    7. Modification du formulaire 2 Saisie/Modification des clients : Ouvrez ce formulaire en mode Modification/cration Vrifiez la source du contrle ENCOURS :J Slectionnez le contrle ENCOURSJ Affichez les proprits du contrle (Menu Affichage proprits) En principe, la source

    correspond au champ ENCOURS de la requte donc il ny a rien faire. Passez la rubrique Le coin des experts OU fermez le formulaire puis passez directement au II II. CREATION DUNE REQUETE MISE A JOUR, DUNE REQUETE SUPPRESSION Le coin des experts Profitons du formulaire 2 Saisie/modification des clients pour dcouvrir de nouveaux trucs :

    SOAD LHARAOUI/CPCF : ACCESS 38

  • Le champ ENCOURS reprsente une Donne de situation (comme cela a pu tre dit prcdemment) dont la valeur augmente chaque nouvelle commande et diminue avec les rglements reus des clients). Par consquent, ce champ doit tre mis jour avec une requte action.

    Pour viter que lutilisateur du formulaire ne saisisse une valeur dans le champ ENCOURS, on va le protger en paramtrant certaines proprits :

    1. Slectionner le contrle ENCOURS (si ce nest pas dj fait)

    2. Affichez la fentre des proprits (si ce nest pas dj fait)

    3. Paramtrez les proprits indiques ci-dessous :

    Remarque :

    - La proprit Visible : permet de cacher un contrle ou de le rendre visible- La proprit Afficher a pour options :

    * Toujours : le contrle est affich tant lcran qu limprimante* A lcran : le contrle est affich lcran mais nest pas imprimable* A limpression : le contrle est imprimable mais nest pas affich lcran

    4. Vrifiez les modifications en affichant le formulaire en mode Formulaire et essayez de

    changer la valeur du champ ENCOURS

    II. CREATION DUNE REQUETE MISE A JOUR, DUNE REQUETE SUPPRESSION AU PREALABLE : Vous allez effectuez une copie de la base de donnes PAPETIERE.MDB et travailler sur cette copie.Plutt que dutiliser lexplorateur de WINDOWS, vous allez utiliser la commande COMPACTER dACCESS. Cette commande permet de rduire la taille dune base de donnes. Le compactage se fait dans un nouveau fichier. PROCEDURE :

    1. Fermez la base de donnes PAPETIERE.MDB (indispensable)2. Activez le menu Fichier - Compacter une base de donnes ACCESS affiche une premire

    bote de dialogue dans laquelle vous slectionnez le nom de la base compacter soit PAPETIERE.MDB sur le lecteur A:

    3. Dans la deuxime bote de dialogue Compacter sous... saisissez le nom de la base compacte :

    PAPETIERERAC.MDB

    Une fois lopration acheve, ouvrez la base de donnes PAPETIERERAC.MDB, cest dans cette base de donnes que vous allez effectuer diverses requtes action.

    SOAD LHARAOUI/CPCF : ACCESS 39

    Oui : le contrle apparat normalementNon : le contrle est gris (entirement inaccessible)

    Oui : le contrle ne peut pas tre mis jour (on empche la saisie ou la modification)Non : le contrle peut tre mis jour

    Oui : Le curseur sarrtera sur le contrle Non : le curseur ne sarrtera pas sur le contrle Demander explication au G.F.I.

  • A. Cration dune requte Mise jour Le directeur commercial de la socit PAPETIERE a dcid de majorer de 10% le prix unitaire des articles de papeterie. Vous tes charg de modifier les prix unitaires. Plutt que de calculer manuellement les prix unitaires pour les articles de papeterie et de les saisir vous allez, grce une requte Mise jour, faire la modification automatiquement. MODE OPERATOIRE :

    1. Crer une nouvelle requte fonde sur les tables PRODUITS et CATEGORIE

    2. Faites glisser les champs CODEART, DESIGNART, LIBELLECAT et PUHT

    3. Mettez le critre : Papeterie pour le champ LIBELLE CATEGORIE

    4. Visualisez la requte en mode Feuille de donnes pour vrifier que vous navez que les enregistrements relatifs aux articles de papeterie

    5. En mode cration, slectionnez le type de requte Mise jour dans le menu requte (ou cliquez sur le bouton

    6. Dans la grille dinterrogation, saisissez la formule suivante sur la ligne mise jour et en dessous du champ Prix unitaire : [PUHT]*1.10

    7. Excutez la requte (Menu Requte Excuter et visualisez le rsultat : les prix ont augments de 10% (de 12,60 F ils sont passs 13,86 F)

    Avant excution de la requte

    Ramette papier multi usages 45.00 F PapeteriePapier qualit photo /20 58.00 F Papeterie

    Aprs excution de la requte

    Ramette papier multi usages 49.50 F PapeteriePapier qualit photo /20 63.80 F Papeterie

    8. Enregistrez la requte sous le nom : REQ MISE A JOUR TARIF

    9. Fermez la requte

    SOAD LHARAOUI/CPCF : ACCESS 40

  • 10. Excutez de nouveau la requte : Que se passe-t-il ?

    B. CREER UNE REQUETE SUPPRESSION On veut supprimer la commande n 4 (qui a t annule par le client) :

    1. Crez une nouvelle requte fonde sur la table commande2. Faites glisser tous les champs3. Saisissez le critre de slection en dessous du champ NOCOM : 44. Visualisez la requte

    NOCOM

    DATECOM CODECLI

    00004 19/03/2001

    6

    5. En mode cration, activez le menu Requte Suppression ou cliquez sur le bouton 6. Excutez la requte. Un message vous informe que la suppression va tre dfinitive :

    Confirmez la suppression en cliquant sur ouiMais un message derreur saffiche :

    Annulez lopration en cliquant sur le bouton Non Remde : Lors de la cration des relations entre la table commande (ct UN de la relation) et la table LIGNE COMMANDE (Ct PLUSIEURS) Vous avez demand ACCESS dappliquer lintgrit rfrentielle : Pour pouvoir supprimer une enregistrement de la table ct UN, il faut dabord supprimer les enregistrements lis de la table ct PLUSIEURS. Dans lexemple il faudrait crer deux requtes :- la premire pour supprimer les enregistrements de la table LIGNE COMMANDE pour lesquels le champ

    NO COM=4- la deuxime pour supprimer les enregistrements de la table LIGNE COMMANDE pour lesquels le champ

    NO COM=4 CEST LOURD A FAIRE !

    Heureusement, il existe une autre possibilit :Enregistrez la requte sous le nom : REQ SUPPRESSION DUNE COMMANDEFermez la requte

    SOAD LHARAOUI/CPCF : ACCESS 41

  • Cliquez sur le menu Edition - RelationDouble cliquez sur la relation (sur le trait) entre COMMANDE et LIGNE COMMANDECochez la case Effacer en cascade (ainsi quand on supprimera une commande, toutes les lignes de commandes seront automatiquement supprimes)

    Validez puis fermez la fentre RelationDans la fentre Base de donnes, slectionnez la requte REQ SUPPRESSION DUNE COMMANDEExcutez la requte en cliquant sur le bouton Ouvrir (La suppression est effective)Ouvrez successivement les tables COMMANDE et LIGNE COMMANDE pour vrifier que la commande n 4 a bien t supprime.

    CAS PAPETIERE- 6me partieLANALYSE CROISEE

    CONNAISSANCES DE BASE Faire une analyse croise consiste effectuer une synthse des donnes sur plusieurs niveaux.. Dans Access, lanalyse croise constitue une forme particulire de requte opration. Dans lexemple qui suit, vous aurez effectuer une analyse croise du chiffre daffaires consistant dterminer le montant du chiffre daffaires par client et pour chaque catgorie darticle. Voici ce que lon souhaite obtenir :

    NOMCLI Accessoires fournitures

    Mobilier petit matriel

    Ouvrages

    Papeterie

    Assurance Azur 34.30 F 335.85 F Briko Boutik 300.32 F 57.17 F Centre franais de restauration

    777.49 F

    Crion 959.21 F Joue Club 49.16 F 573.67 F 19.06 F Lyce Rambaux 228.67 F 301.85 F Mcanord 43.45 F 76.22 F 34.30 FMicropuce 137.20 F 90.55 F 439.82 F SriTech 22.87 F 378.99 F 68.60 F Ici, les noms des clients reprsentent des enttes de ligne et les libells de catgorie reprsentent des enttes de colonnes . Les sommes figurant dans le tableau correspondent aux valeurs et sont le fruit dun calcul (oprateur Somme). Pour obtenir ce rsultat, il faut dabord raliser une requte comprenant :

    - Le nom des clients- Le libell des catgories darticles- Le montant HT ([QTESCOM]*[PUHT]) : cela correspond au dtail des lignes de commandes

    Application guide :

    Crez une nouvelle requte en mode crationSlectionnez les tables qui vous sont ncessaires

    SOAD LHARAOUI/CPCF : ACCESS 42

  • Slectionnez ensuite les champs NOMCLI, LIBELLECAT et crez un champ calcul que vous nommerez HT.

    Vous devez obtenir ceci :

    Maintenant, il ne reste plus qu transformer la requte slection en requte analyse croise :Cliquez sur le menu Requte puis sur . Dans la grille dinterrogation deux nouvelles lignes sont apparues :

    Il faut ici dfinir les champs de regroupement (ici NOMCLI et LIBELLECAT) et loprateur de calcul (ici loprateur SOMME appliqu au champ HT.Il faut galement dfinir lentte de ligne(NOMCLI), lentte de colonne (LIBELLECAT). Il faut noter aussi que les trois champs proviennent de trois tables diffrentes. Remarques : - Il est tout fait possible de trier les clients comme les libells de catgorie- lanalyse sest faite sur deux niveaux (dimensions), savoir un premier niveau sur le nom des clients et un second niveau sur le libell catgorie. On peut ajouter des niveaux supplmentaire danalyse en entte de ligne. Par exemple, si lon veut obtenir le cumul du chiffre daffaires par client , par taux de TVA et par libell catgorie, la requte analyse croise se prsente alors de la manire suivante :

    Ce qui donne :

    NOMCLI TVAART Accessoires fournitures

    Mobilier petit matriel

    Ouvrages

    Papeterie

    Assurance Azur 19.60% 34.30 F 335.85 F Briko Boutik 5.50% 57.17 F Briko Boutik 19.60% 300.32 F Centre franais de restauration

    19.60% 777.49 F

    Crion 19.60% 959.21 F

    SOAD LHARAOUI/CPCF : ACCESS 43

    Ce niveau a t ajout

  • Joue Club 5.50% 19.06 F Joue Club 19.60% 49.16 F 573.67 F Lyce Rambaux 19.60% 228.67 F 301.85 F Mcanord 5.50% 76.22 F Mcanord 19.60% 43.45 F 34.30 FMicropuce 5.50% 439.82 F Micropuce 19.60% 137.20 F 90.55 F SriTech 19.60% 22.87 F 378.99 F 68.60 F Le rsultat nest pas significatif car une catgorie darticles ne semble comporter quun seul taux de TVA. Application non guide :Les dirigeants de la papetire souhaiterait connatre la quantit commande par article et par date de commande. Activit :Rpondez la demande des dirigeants laide dAccess Pour vous aider voici un extrait du rsultat obtenir :

    DESIGNART 19/03/2001

    22/03/2001

    23/03/2001

    24/03/2001

    26/03/2001

    Bote de CD-R 74 mn/10 20 2Bote de CD-RW /10 10 Botes de disquettes 3,5''/10

    2

    Calulatrice scientifique Cazio

    2 1

    Crer un site avec Front Page

    Les macros

    DfinitionUne macro comporte une ou plusieurs actions effectuant chacune une opration particulire,

    telle l'ouverture d'un formulaire ou l'impression d'un tat. Les macros permettent d'automatiser les tches habituelles. Vous pouvez, par exemple, excuter une macro qui imprime un tat lorsqu'un utilisateur clique sur un bouton de commande.

    Une macro peut se prsenter sous forme de macro unique compose d'une srie d'actions ou sous forme de groupe de macros. Vous pouvez galement utiliser une expression conditionnelle pour dterminer si, dans certaines circonstances particulires, une action est effectue lorsqu'une macro s'excute.

    Srie d'actionsUne macro peut tre composer d'une srie d'actions, Microsoft Access effectue ces actions en

    bloc chaque fois que la macro est excute.

    Groupe de macrosSi vous utilisez un grand nombre de macros, regroupez les macros lies dans des groupes de

    macros pour faciliter la gestion de votre base de donnes. Pour afficher les noms des macros d'un groupe de macros, cliquez sur "Nom de macro" dans le menu "Affichage" de la fentre Macro. Pour excuter une macro contenue dans un groupe de macros, vous devez indiquer le nom du groupe de macros suivi d'un point, puis le nom de la macro.

    Actions conditionnellesDans certaines situations, il peut tre ncessaire d'excuter conditionnellement une ou

    plusieurs actions dans une macro. C'est par exemple le cas lorsque vous dfinissez une macro qui valide le contenu d'un champ.

    Pour ce faire, affichez la colonne "Condition" en cliquant sur "Conditions" dans le menu "Affichage" de la fentre Macro, tapez l'expression conditionnelle sur la ligne qui contient l'action excuter conditionnellement.

    SOAD LHARAOUI/CPCF : ACCESS 44

  • Cration d'une macroPour crer une macro, dans la fentre "Base de donnes", cliquez sur l'objet "Macros" puis

    cliquez sur le bouton "Nouveau". La fentre Macros" apparat.

    La partie suprieure de la fentre "Macro" est compose de deux colonnes intitules "Action" et "Commentaire". La premire donne accs 53 actions prdfinis. Quant la seconde, elle apporte des prcisions sur les actions complexes.

    Dans la colonne "Action", cliquez dans la premire cellule puis cliquez sur la flche pour afficher la liste d'actions partir de laquelle vous allez slectionner l'action que vous voulez utiliser. Par suite vous pouvez, si vous le dsirez, saisir un commentaire. En fait, les commentaires sont facultatifs mais souhaitables pour mieux comprendre votre macro plus tard. Dans la partie infrieure de la fentre, spcifiez les arguments de l'action, si ceux-ci sont obligatoires. Cliquez ensuite sur le bouton d'enregistrement pour sauvegarder la macro, le nom saisi apparatra dans la fentre "Base de donnes"

    les actions prdfinies par AccessAction SignificationActualiser Mettre jour les donnes du contrle spcifiAfficherBarreOutils Affiche ou masque une barre d'outilsAfficherTous Enregistrement

    Supprime l'effet du filtre sur la table, la requte ou le formulaire courant en affichant tous les enregistrements

    Agrandir Donne la taille maximale la fentre activeAjouterMenu Ajoute un menu dans la barre de menus personnalise d'un

    formulaire, tatAnnulerEvnement Annule un vnement qui a entran l'excution de la macroAppliquerFiltre Applique un filtre, une requte une table, formulaire ou tat.ArrtMacro Arrte la macro en cours d'excutionArrtToutesMacros Arrte toutes les macros en cours d'excutionAtteindreContrle Active le champ ou le contrle spcifi dans la feuille de donnes

    ou le formulaire courantAtteindreEnregistrement

    Active l'enregistrement spcifi.

    AtteindrePage Active le premier contrle de la page spcifieAvertissements Active ou dsactive les messages systmeBip Emet un signal sonoreBoiteMsg Affiche une bote de message d'avertissement ou d'informationCopierObjet Copie un objet dans une base de donnes Access

    SOAD LHARAOUI/CPCF : ACCESS 45

  • CopierVers Exporte un objet au format Excel, Texte (.RTF ou .TXT), document HTML

    DfiniElmentMenu Dfinit l'tat des lments de menus personnaliss (active, dsactive)

    DfinirValeur Dfinit la valeur d'un contrle, un champ ou une propritDplacerDimentionner Dplace ou redimensionne la fentre activeEcho Masque ou affiche les rsultats intermdiaires pendant

    l'excution de macroEnregistrer Enregistre la fentre active ou l'objet spcifiAnvoiTouches Simule une frappe au clavierEnvoyerObjet Place l'objet dans un message lectroniqueExcuterApplication Lance l'application spcifieExcuterCode Lance une fonction Visual BasicExcuterCommande Lance une commande du menu AccessExcuterMacro Lance la macro spcifieFermer Ferme la fentre spcifieImprimer Lance l'impression de l'objet courantOuvrirEtat Ouvre l'tat spcifiOuvrirFormulaire Ouvre le formulaire spcifiOuvrirModule Ouvre le module spcifiOuvrirPageAccs Donnes

    Ouvre la page d'accs aux donnes spcifie

    OuvrirProcdureStocke Ouvre la procdure stocke spcifieOuvrirRequte Ouvre la requte spcifieOuvrirSchma Ouvre le schma spcifiOuvrirTable Ouvre la table spcifieOuvrirVue Ouvre la vue spcifieQuitter Ferme l'application Microsoft AccessReduire Rduit la fentreRenommer Dfinit un autre nom l'objet spcifiRestaurer Rtablit la taille initiale de la fentreSablier Transforme le pointeur en un sablierSlectionnerObjet Slectionne l'objet spcifiSupprimerObjet Supprime l'objet spcifi sans confirmationTransfrerBase Importe les donnes d'une base une autreTransfrerFeuilleCalcul Importe les donnes contenues dans une feuille de calculTransfrerTexte Importe les donnes contenues dans un fichier texteTrouverEnregistrement Recherche le premier enregistrement qui satisfait le critre

    spcifiTrouverSuivant Recherche l'enregistrement suivant celui qui satisfait le critre

    spcifi dans l'action "TrouverSuivant"Exercice :

    1. Crer une macro qui permet d'ouvrir le formulaire client en mode "formulaire". Agrandir la fentre.

    2. Crer une macro qui permet d'ouvrir un tat en mode "aperu avant impression". 3. Crer une macro qui permet d'ouvrir et d'imprimer un tat.

    Excution d'une macroPour excuter un macro, il suffit de double-cliquer sur son nom dans la fentre "Base de

    donnes" ou encore de la slectionner et de cliquer sur le bouton "Excuter". Mais, vous pouvez galement l'associer un bouton de commande dans un formulaire, elle s'excutera automatiquement si l'on presse le bouton. Vous pouvez aussi l'associer un vnement reconnu par Access ou l'excuter automatiquement l'ouverture de la base de donnes.

    Associer une macro un bouton de commandePour relier une macro un bouton de commande dans un formulaire en mode cration, il suffit

    d'utiliser la proprit "sur clic" du bouton concern. Pour ce faire, activez la bote de dialogue "Proprits" du bouton, cherchez l'vnement "sur clic" et slectionnez dans la liste droulante le nom de la macro excuter.

    SOAD LHARAOUI/CPCF : ACCESS 46

  • Associer une macro un vnementChaque contrle ou objet de Microsoft Access possde plusieurs vnement. A la production de

    tel ou tel vnement, vous souhaitez excuter une action. Crez une macro refltant cette action. Puis, dans la proprit reprsentant cet vnement, slectionnez le nom de la macro.

    Excuter automatiquement une macroSi elle existe, la macro nomme "AUTOEXEC" d'excute automatiquement chaque ouverture

    de la base de donnes.Exercice :

    Associer les macros cres prcdemment des boutons de commandes.

    SOAD LHARAOUI/CPCF : ACCESS 47

  • ANNEXE 2

    Proprits Explications Applicable aux champsTaille du champ Permet de limiter le champ pour qu'il n'utilise pas trop

    de mmoires inutilement.Texte et numrique.

    Format Dfinit le format selon lequel le champ est enregistr ou affich.

    Tous sauf objet OLE.

    Dcimales Indique le nombre de chiffres aprs la virgules. Numrique et montaire.Nouvelles valeurs Indique comment le champ NumeroAuto choisit le

    nouveau numro, soit par incrmentation ou de faon alatoire.

    NumeroAuto.

    Masque de saisie Facilite la saisie Date/heure, texte, numrique, montaire et NumeroAuto.

    Lgendes Le texte des tiquettes attaches aux contrles des formulaires

    Tous.

    Valeur par dfaut valeur automatiquement entre dans un champ lors de la cration d'un nouvel enregistrement

    Date/heure, oui/non, texte, mmo, numrique, montaire, lien hypertexte.

    Valide si Limite les entres du champ Tous sauf NumeroAutoMessage si erreur Message affiche si la donne du champ n'est pas

    valide, utiliser avec la proprits Valide si.Date/heure, oui/non, texte, mmo, objet OLE, numrique, montaire.

    Null interdit Si la valeur est Oui, vous obligez la saisie de donnes dans le champ.

    Date/heure, oui/non, texte, mmo, objet OLE, numrique, montaire.

    Chane vide autorise

    Si la valeur est Non, vous obligez saisir au minimum un caractre dans le champ.

    texte, mmo, lien hypertexte.

    Index Acclre la recherche. Date/heure, texte, numrique, montaire, NumeroAuto.

    Afficher le contrle

    Dfinit le type de contrle afficher dans un formulaire pour le champ. Se trouve sur l'onglet Liste de choix.

    texte, montaire, oui/non.

    I. Les proprits

    I.1. Taille du champ

    Vous limitez ainsi la place mmoire mais galement des erreurs d'utilisation. Pour un champ texte, vous limiter le nombre de caractres, la valeur par dfaut est 50, si vous indiquez 0 c'est la valeur 255 qui sera retenue.Pour un champ numrique, vous avez les tailles suivantes :

    Type Valeurs Taille en octet

    Octet valeur entire de 0 255 1Entier valeur entire de -32768 32767 2Entier long valeur entire de -2147483648 2147483647 4Rel simple valeur dcimale de -3,4*1018 3,4*1018, avec 7 dcimales 4Rel double valeur dcimale de -1,97*10308 1,797*10308, avec 15 dcimales 8

    I.2. F