Académique Documents
Professionnel Documents
Culture Documents
a/ QUEST CE QUUNE BASE DE DONNEES RELATIONNELLES Une base de donnes est un ensemble de donnes organises sous forme de tables. Une base de donnes couvre un domaine de gestion prcis (ex : domaine Gestion des clients, gestion des ventes, gestion des achats, gestion de rendez-vous...). Lorsquil existe des relations entre les tables, on parlera de base de donnes relationnelles Exemple : Une vidothque souhaite crer une base de donnes permettant de suivre les locations de cassettes des clients. La base de donnes contiendra 3 tables : CLIENTS, CASSETTES, LOCATIONS TABLE CLIENTS CODE CLI NOM CLI 1 DURAND
PREN CLI RUE CLI Jean-Paul Rue des Wets 2 ALEXIS Marc Rue d'Anjou 3 LEBIENHEUREUX Alexandre Rue Boda
CODE CLI
Table LOCATIONS CODE DATE LOC DATE RETOUR CASS 1 2 04/01/1995 05/01/1995 2 1 05/01/1995 06/01/1995 2 3 02/01/1995 05/01/1995 2 4 12/01/1995 15/01/1995 TABLE CASSETTES NOM CASS PRIX LOC 1 L'homme de Rio 2 Amour torride 3 Cauchemar informatique 4 La belle et l'ordinateur 10 20 15 20
CODE CASS
b/ QUEST CE QUUNE TABLE ? Une table est un tableau dans lequel : - les lignes constituent des enregistrements - les colonnes reprsentent des champs c/ QUELS SONT LES PRINCIPES ELEMENTAIRES A RESPECTER POUR CREER UNE BASE DE DONNEES RELATIONNELLE ? 1) Chaque table doit comprendre un champ dfini comme cl primaire, celle-ci permet d'identifier de manire unique chaque enregistrement. 2) Les donnes doivent tre lmentaires : Exemple Le champ IDENTITE contenant le nom et le prnom dun individu n'est pas lmentaire, il faut crer un champ NOM et un champ PRENOM 3) Les donnes calcules sont limines (car elles peuvent tre recalcules de manire dynamique et n'ont donc pas besoin d'occuper de l'espace disque) 4) Il faut liminer les informations redondantes (qui se rptent) 5) Aucune table ne peut tre isole 6) Les relations entre les tables doivent tre du type UN UN ou UN PLUSIEURS mais en aucun cas du type PLUSIEURS PLUSIEURS
Zones de saisie
Ce champ est calcul grce une requte et nest donc pas conserv dans les tables
REMARQUE : Pour obtenir ce rsultat avec EXCEL, il faudrait crer une feuille par client, ce qui entranerait un volume disque impressionnant en fonction du nombre de clients
Aprs avoir slectionn lobjet, il est possible de louvrir en mode exploitation, en mode modification ou de crer un nouvel objet
NUMERIQUE
MONETAIRE
DATE/HEURE
Ce type de donnes conserve en mmoire tous les chiffres aprs la virgule, ce qui peut savrer utile pour les problmes darrondi Conserve des donnes lies une Jusqu un giga octet autre application telle quEXCEL Mmorise des adresses URL de sites Jusqu 64000 octets Web 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. Permet d'entrer des dates ou des Taille non paramtrable heures
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) - Rel double (entre -1.79 10107 et +1.79 10107) 8 octets (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 rel 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
1) Lancez MICROSOFT ACCESS 2000 qui se trouve dans le groupe MICROSOFT OFFICE 2) dans le menu fichier - slectionnez loption NOUVELLE BASE DE DONNEES
4) Slectionnez lobjet Table dans la fentre base de donnes puis cliquez sur Crer une table en mode cration
5) Crez la structure de la table CLIENTS selon les indications ci-aprs : Nomp du champ
CODECLI NOMCLI ADRCLI VILLECLI PAIEMENT ENCOURSCLI PLAFONDCLI CPCLI
Type de champ
ENTIER LONG TEXTE TEXTE TEXTE TEXTE NUMERIQUE NUMERIQUE NUMERIQUE
Taille du champ
Entier long 40 40 25 21 Rl simple Rl simple Entier long
1) Saisissez les noms de champs tels quils sont dfinis dans le tableau ci-dessus
3) Slectionnez la taille du champ en cliquant sur le bouton liste droulante pour les champs de type numrique OU Saisissez le nombre de caractres pour les champs de type texte
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 : Enregistrez ensuite la table : Menu Fichier - Enregistrer Nom de la table : CLIENT
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 .
Code client
NOMCLI
00002 Crion
00005 Assurance
Enregistrements saisir VILLECLI PAIEMENT LILLE Chque rception LILLE Chque rception LILLE Chque rception SIN LE NOBLE 30 jours fin de mois SIN LE NOBLE 30 jours fin de
PLAFONDCLI
CPCLI
50000 59000
29 200.00 F
50000 59000
47 200.00 F
90000 59000
37 000.00 F
130000 59450
147 000.00 F
100000 59450
Code client
NOMCLI Azur
ADRCLI
VILLECLI
PAIEMENT mois
ENCOURSCLI
PLAFONDCLI
CPCLI
MODES OPERATOIRES 1) 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 :
pour rduire la colonne CODE CLI faire glisser la marque de sparation de champ sur la gauche
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)
Puis on clique sur le menu Edition - insrer une ligne Vous pouvez maintenant ajouter le champ CODEREG dont le type de donnes est numrique - Taille du champ : OCTET Les valeurs prises par le champ CODEREG sont les suivantes en fonction du mode de paiement : CODE REG 1 2 3 4 5
PAIEMENT
Chque rception 30 jours fin de mois 60 jours fin de mois 90 jours fin de mois 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 PAIEMENT Cliquez 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 :
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 : DONNEES DE TYPE TEXTE (ET MEMO) : UTILISEZ LES CARACTERES SUIVANTS : Code de format > < @ (<Alt Gr>0) Description - Exemples Tous les caractres du champ seront en majuscules Tous les caractres du champ seront en minuscules 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
DONNEES DE TYPE NUMERIQUES : UTILISEZ LES CARACTERES SUIVANTS : Code de Description - Exemples format # (<Alt Dsigne un chiffre. Exemple : soit le format "N de code "### ### . En entrant la valeur Gr>3) 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 REGLES 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 DONNEES 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
ACTIVITE Paramtrez les proprits de certains champs de la table CLIENT en tenant compte des indications ci-dessous
Nom du champ
Description
Lgende
Format
Valide si : Entre 01000 Et 95999 Message si erreur : Le code postal doit tre compris entre 01000 et 95999
PLAFONDCLI
ENCOURSCLI CODEREG
Montaire en euro
Montaire en euro Valide si : Entre 1 Et 5 Message si erreur : Le code de rglement doit tre compris entre 1 et 5
Elments de modes opratoires : Slectionnez le champ dont les proprits sont modifier Paramtrez 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 code CODE ENCOURS PLAFOND NOMCLI ADRCLI VILLECLI PAIEMENT client postal REG CLI CLI
00006 Mcanord 00007 Le soleil de Tunis 00008 Joue Club 00009 Micropuce 00010 Centre franais de restauration ZAC les Epis 125, place du Barlet 356, rue de Bellain 147, rue de Paris 15, rue de Saint Sulpice 59450 59500 59500 59500 59187 SIN LE NOBLE DOUAI DOUAI DOUAI DECHY 3 60 jours fin mois 4 90 jours fin mois 4 90 jours fin mois 3 60 jours fin mois 3 60 jours fin mois de de de de de 269 000.00 F 29 600.00 F 176 200.00 F 72 350.00 F 294 150.00 F 280000 50000 190000 95000 310000
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 - Slectionnez ensuite le modle Colonne simple - Choisissez un style de prsentation (cest une affaire de got)
2) Vous allez saisir les sept derniers enregistrements de la table CLIENT en utilisant le formulaire prcdent :
Code client NOMCLI ADRCLI 105, rue Paul Foucaut 124, Bd Jeanne de Flandres 07, place Saint Am 12, rue de Maupassant rue des Cytises code postal 59450 59265 59500 59650 62221 VILLECLI SIN LE NOBLE AUBENCHEUL AU BAC DOUAI VILLENEUVE D'ASCQ NOYELLES SOUS LENS CODEREG PAIEMENT ENCOURSCLI PLAFONDCLI 503 200.00 F 24 350.00 F 116 000.00 F 263 000.00 F 128 000.00 F 500000 80000 180000 310000 97000
00011 Lyce Rambaux 00012 Briko Boutik 00013 Carbone Copy 00014 SriTech 00015 Berteman Inc.
1 Chque rception 5 Chque 60 jours 3 60 jours fin de mois 3 60 jours fin de mois 3 60 jours fin de mois
Code client
NOMCLI
CODEREG
PAIEMENT
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 REGLEMENT
CODEREG 1 2 3 4 5 MODEREG cheque a reception 30 jours fin de mois 60 jours fin de mois 90 jours fin de mois cheque a 60 jours
CATEGORIE
CODECAT ACC MOB OUV PAP LIBELLECAT Accessoires fournitures Mobilier petit matriel Ouvrages Papeterie
PRODUIT CODEART DESIGNART TVAART PUHT CODECAT 1 Transparents photocopieurs/10 19.60% 30.00 F ACC 2 Transparents manuels/10 19.60% 13.50 F ACC 3 Stylo transparents effaables 19.60% 7.50 F ACC 4 Stylo transparents 19.60% 7.50 F ACC permanents 5 Botes de disquettes 3,5''/10 19.60% 35.00 F MOB 6 Bote de CD-R 74 mn/10 19.60% 99.00 F MOB 7 Bote de CD-RW /10 19.60% 152.00 F MOB 8 Calulatrice scientifique Cazio 19.60% 225.00 F MOB 9 Calculette Euro 19.60% 27.00 F MOB 10 Ramette papier multi usages 19.60% 45.00 F PAP 11 Papier qualit photo /20 19.60% 58.00 F PAP 12 Support mural pour moniteur 19.60% 352.00 F MOB 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 5.50% 75.00 F OUV management 17 Le mmento du comptable 5.50% 226.00 F OUV dbutant 18 WebCam Sony 19.60% 467.00 F MOB 19 Kit de reconnaissance vocale 19.60% 450.00 F MOB pour PC
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 : 00000 le champ DESIGNART a une taille de 50 le champ TVAART est du type numrique - rel 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) 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.
CONNAISSANCES PREALABLES Une requte est une interrogation de la base de donnes, par exemple: quels sont les clients habitant DOUAI ? Quels sont les produits soumis 19,60% ? Quels sont les clients ayant command le produit "XXX" entre le 01/01/01 et le 31/03/01 ? La manipulation des requtes se fait en deux temps : formulation de la requte visualisation de la requte : ACCESS affiche le rsultat de la requte dans une feuille de rponse dynamique , cest dire que la requte est excute en mmoire sans aucune cration de table. Vous allez crer un certain nombre de requtes partir de la table CLIENT de la base BUROMAT.MDB
ACTIVITE
AU PREALABLE, dmarrez ACCESS et ouvrez la base de donnes PAPETIERE.MDB 1) On veut obtenir la liste des clients limite aux champs CODECLI et NOMCLI
dans la fentre base de donnes, cliquez sur lobjet Requtes cliquez sur et slectionnez
dans la bote de dialogue "AJOUTER UNE TABLE", slectionnez la table client, cliquez sur "Ajouter" puis sur fermer
2 Cliquez sur Ajouter 3) puis cliquez sur Fermer
Vous obtenez ensuite la fentre REQUETE EN MODE CREATION/MODIFICATION qui se prsente comme suit :
Bouton Type de requte Bouton oprations Bouton affichage : - mode feuille de donnes - mode cration - mode SQL
Bouton Proprits
Grille dinterrogation
On souhaite donc visualiser tous les enregistrements de la table CLIENT mais en ne retenant que les champs CODECLI et NOM : en langage relationnel on appelle cela une PROJECTION. Pour cela faites glisser le champ CODECLI vers la grille d'interrogation dans la 1re colonne (sur la ligne Champs) Puis faites glisser le champ NOMCLI vers la grille d'interrogation (2me colonne et ligne Champ)
Opration de glisserdplacer Truc : on peut galement slectionner un champ directement dans la grille dinterrogation en cliquant dans une cellule de la ligne champ et en cliquant sur le Visualisez le rsultat de la requte : cliquez sur le bouton Affichage et slectionnez le mode Feuilles de donnes 2) Pour faciliter la lecture des noms on voudrait que ceux-ci soient tris par ordre alphabtique Revenez la fentre requte en mode cration : cliquez sur le bouton Dans la grille d'interrogation, slectionnez la ligne Tri de la colonne comportant le champ NOMCLI Un bouton liste droulante apparat, cliquez dessus et slectionnez l'option Croissant Visualisez le rsultat : cliquez sur le bouton Affichage -: mode Feuille de donnes Enregistrez la requte en la nommant : &q
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 1 2
Objectif de la requte On veut afficher la liste des produits trie sur le nom (incluant tous les champs) On veut afficher la liste des produits limite au nom et au prix class par ordre dcroissant du prix on veut afficher la liste des produits (nom et prix) soumis 19.60% On veut afficher le nom des produits dont le prix unitaire est compris entre 100 F et 200 F
Nom de la requte (nom de sauvegarde) P1 - Produits tris par nom P2 - Produits Classs par ordre dcroissant de prix P3 - Produits soumis la TVA de 19.60% P4 - Produits dont le prix est compris entre 100 et 200 F
On veut afficher la liste des produits trie sur le nom (tous les P5 - Liste des produits avec prix de champs) en faisant apparatre le prix de vente T.T.C. en francs et vente T.T.C. en F et en Euro) en Euros. Rappel : 1euro = 6.55957 Cration d'une requte opration : On veut connatre les P6 - Liste des taux de TVA diffrents taux de TVA Cration d'une requte Opration : on veut connatre pour chaque P7 - Nombre de produits par taux de taux de TVA, le nombre de produits TVA 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 lexcution 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
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 10 Ramette papier multi usages
TVAART 19.60%
I.
CONNAISSANCES PREALABLES
Au 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 :
Cl primaire 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.
Relation Cl trangre
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.
II. A.
1. 2.
3. 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 :
Cochez la case Appliquer lintgrit rfrentielle puis vrifiez que soit coche la case Une plusieurs cliquez sur Crer pour terminer.
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 rfrentielle b) 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 de la 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 :
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
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 :
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
Avec une requte Multi-tables il est conseill dafficher le nom des tables (menu : Affichage Nom des tables
6. Visualisez le rsultat de la requte en mode feuilles de donnes La feuille de donnes comporte une ligne vide qui indique quon peut ajouter des enregistrements 7. Si les produits ne sont plus classs par ordre croissant du CODEART : Revenez en mode cration de requte Faites glisser le champ CODEART dans la grille dinterrogation Slectionnez loption de tri croissant Dsactivez loption afficher pour viter le double affichage du code produit Vrifiez le rsultat en mode feuilles de donnes
8. Enregistrez la requte sous le nom Requte formulaire produits B/ Cration du formulaire 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).
C/ Modification du formulaire
Vous 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 : Ce bouton permet de choisir les codes catgories
A partir des libells de la catgorie. Donc inutile dapprendre les codes par cur
QUELQUES PRECISIONS : Le formulaire 2 Saisie Modification/des produits se prsente comme suit en mode cration:
Etiquettes
Zone de texte
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
La grille permet dajuster la position des lments lcran. Cette grille napparat pas en mode formulaire
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 nentrane 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 :
Rduisez la largeur de la colonne contenant le code cat et largissez celle du libell cat Dcochez cette case (voir remarque ci-aprs)
Pour modifier la taille, faites glisser droite ou gauche la colonne 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 :
Ici on vous demande en fait quelle valeur vous souhaitez afficher. Comme on souhaite afficher la valeur du CODECAT, on slectionne ce champ
La valeur choisie est stocker dans le champ CODECAT (de la table PRODUIT) :
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 :
Dans la fentre des proprits on slectionne Liste de choix On slectionne le contrle On slectionne la source des donnes On slectionne la table source 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
Revenez en mode cration de formulaire pour amliorer la prsentation : Ce contrle a t largi avec la souris
Cadre dessin avec loutil Rectangle et le bouton 3D Enfonc : et une taille de bordure de 4 : Utilisez les boutons suivants pour dfinir les couleurs : Couleur darrire-plan
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)
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 passet-il ? Comment rsoudre le problme ? Demandez conseil votre G.F.I.. APPLICATION NON GUIDEE 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.
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 classes par code croissant et connatre le nombre de rfrences pour chaque catgorie
Entte dETAT
CATALOGUE DES PRODUITS Date : 20/11/2001
Entte de page
LIBELLECAT CODEART DESIGNART TVAART PUHT
Dtail
1 2 ****** Transparents. Transparents manuels ********* 19.60% 19.60% ****** 30.00 F 13.50 F ******
Pied de page
PAGE 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 : 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
Etape 3 : Il est possible dterminer un sous-niveau de regroupement (on pourrait par exemple demander un regroupement par taux de TVA)
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 7 : Saisissez le titre de ltat : CATALOGUE DES PRODUITS puis cliquez sur le bouton Terminer
1. Modification de lEtat On 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 cration Menu 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 Produits
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, PLAFONDCLI Cet tat sera fond sur la requte Requte formulaire clients cre dans lapplication non guide facultative.
ANALYSE DU PROBLEME :
Examinez le bon de commande ci-dessous : ETS COMMANDE N1 BUROMAT Code rglement Code produit 00006 00012 00014 00001 4 90 jours fin de mois Dsignation Bote de CD-R 74 mn/10 Support mural pour moniteur Crer un site avec Front Page Transparents photocopieurs/10 du 15/03/2001 Code client : 00007 Le Soleil de Tunis 125, place du Barlet 59500 DOUAI Qts commandes 20 4 2 100
P.U.
H.T.
% TVA
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 : COMMANDE NOCOM DATE COM CODECLI 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 et La table LIGNE COMMANDE et PRODUIT
I.
1.
2. 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.
3. 4. 5.
Dfinissez la cl primaire (champ NOCOM) Enregistrez la table sous le nom : COMMANDE 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.
Slecteur de champ
7.
II.
1. 2.
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 :
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 :
Saisissez maintenant Dans la table lie LIGNE COMMANDE les enregistrements relatifs la 1re commande :
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 : NOCOM CODEART QTESCOM 00001 00001 100 00001 00006 20 00001 00012 4 00001 00014 2 Ce champ sest rempli automatiquement.
I.
1. IV. LE COIN DES AMATEURS : CREATION DUN FORMULAIRE AVEC UN SOUS FORMULAIRE
Vous 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 :
2. 1. Fermez toutes les tables 3. 2. Dans la fentre Bases de donnes, slectionnez lobjet Formulaire puis cliquez sur Crer un formulaire en utilisant lassistant 1. 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
En faisant glisser le pied de formulaire vers le bas, vous pouvez agrandir le formulaire 4. Agrandissez la taille du formulaire
2. 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 : 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
Donnes provenant de la table LIGNE COMMANDE (sous-formulaire) Pas trs lgant : en mode cration, augmentez la taille du sous-formulaire de manire ce que 10 enregistrements du sousformulaire 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
2. 6. 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 Code produit COMMANDE N 2 Code client Dsignation Crer un site avec FrontPage Bote de CD-R 74 mn/10 Le mmento du comptable dbutant Transparents photocopieurs/10 du 16/03/2001 Micropuce Qts commandes 5 6 10 30
4. 7. Fermez le formulaire
V.
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 formulaire
On 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 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.
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 :
Ces 3 champs seront mis jour chaque nouvelle commande. Les autres champs ne sont affichs qu titre dinformation et de contrle
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)
2.
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 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
La prsentation du formulaire est en colonnes simples Le titre du formulaire est : Saisie des commandes :
Pour augmenter la hauteur du formulaire, faites glisser cette barre Pour augmenter la largeur du formulaire, faites glisser ce trait droite B2 Cration du sous-formulaire Articles en commande Cliquez sur le bouton assistant sous-formulaire/sous-tat : 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) : Cochez cette case
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 sousformulaire 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)
C/ Le fignolage
Le 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 :
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 Fils Cela 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 Code produit COMMANDE N3 Code client Dsignation Bote de CD-R 74 mn/10 Bote de CD-RW /10 Filtre anti-reflet pour moniteur du 16/03/2001 CRION Qts commandes 20 20 8
V. POUR LES 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 :
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.
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) : Remplacez le texte inscrit ici par TOT HT
Procdez de mme pour les champs TOT TVA et TOT TTC ( paramtrer comme suit :)
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
Zone de texte : correspond un champ (de table ou calcul) Etiquette Visualisez le formulaire Saisie des commandes 2 : les totaux concernent toutes les lignes de toutes les commandes :
2.
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 : 1) Slectionnez lobjet concern par lexpression (ici le sous formulaire Articles en 4) Cliquez ici pour gnrer lexpression 3) Valeur est slectionne par dfaut
2) Slectionnez ensuite le contrle concern par lexpression (ici la zone de texte TOT HT)
3.
Le 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 commands Dans le formulaire, on va donc transformer les zones de texte en zone de listes modifiables. Exemple : Code client Avant
Aprs Un clic sur le bouton et les noms des clients apparaissent en clair
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 :
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 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 modifiable Paramtrez les proprits suivantes : Remplacez la zone de texte CODEART en zone de liste modifiable Paramtrez les proprits suivantes :
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 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 :
ANNEXE 1
ETS PAPETIRE COMMANDE N 4 code client code produit Dsignation Ramette papier multi usages Stylo transparents permanents Transparents photocopieurs/10 Programmation en javascript COMMANDE N 5 code client code produit Dsignation Transparents photocopieurs/10 Transparents manuels/10 Stylo transparents effaables Stylo transparents permanents COMMANDE N6 code client code produit Dsignation Support mural pour moniteur Filtre anti-reflet pour moniteur Stylo transparents permanents Stylo transparents effaables du 19/03/2001 Mcanord qtes commandes 5 10 7 2 du 22/03/2001 Centre franais de restauration qtes commandes 100 100 50 50 du 23/03/2001 Assurance Azur qtes commandes 4 5 20 10
ETS PAPETIRE
ETS PAPETIRE
ETS PAPETIRE
du 24/03/2001 Briko Boutik qtes commandes 5 2 50 10 du 24/03/2001 code client Lyce Rambaux qtes commandes 100 100 20
code produit
Dsignation Les grandes courants du management Calulatrice scientifique Cazio Bote de CD-RW /10
ETS PAPETIRE
COMMANDE N 8
code produit
Dsignation Stylo transparents effaables Stylo transparents permanents Bote de CD-R 74 mn/10
ETS PAPETIRE
code produit
Dsignation Stylo transparents effaables Stylo transparents permanents Bote de CD-R 74 mn/10 Calulatrice scientifique Cazio WebCam Sauni Botes de disquettes 3,5''/10 Ramette papier multi usages Filtre anti-reflet pour moniteur
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 Ajout Mise jour Suppression Permet de crer une nouvelle table partir des enregistrements rpondant un critre de slection Ajoute le contenu des enregistrements correspondant au critre de slection une table existante (ou nouvelle) Permet de mettre jour le contenu dun ou plusieurs champs pour les enregistrements slectionns correspondant au critre de slection 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. TABLE
le theme
Dans la table CLIENT de la base de donnes PAPETIERE.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 table CLIENT enfin tablir une relation entre la table CLIENT et la table ENCOURS DE CREDIT
A.
Plutt que de crer la structure de la table ENCOURS DE CREDIT, vous allez crer une requte Cration de tables : 1. 1. Cliquez sur longlet Requte puis sur le bouton Nouveau 2. 2. Cliquez sur le bouton puis slectionnez la table CLIENT
3. 3. Faites glisser les champs CODECLI et ENCOURSCLI dans la grille dinterrogation. 4. 4. Visualisez le rsultat de la requte Slection(bouton enregistrements et 2 champs) ) (vous devez avoir 17
5. 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. 6. Dans la bote de dialogue Requte cration, saisissez le nom de la nouvelle table : ENCOURS DE CREDIT
7. 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 :
8. 8. Enregistrez la requte sous le nom Cration table Encours et fermez-la (la requte videmment !)
ttention, si vous tentez une deuxime xcution de la requte Cration, Access affichera un message derreur car la table ENCOURS DE CREDIT a t cr lors de la 1re xcution. Pour signaler le danger, Le nom des requtes action (dans la liste des requtes) est prcd dun point dexclamation
9. 9. Vrifiez lexistence de la table ENCOURS DE CREDIT dans la liste des tables. 10.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
Passez la rubrique Le coin des experts OU fermez le formulaire puis passez directement au II Erreur ! Source du renvoi introuvable.
Oui : le contrle apparat normalement Non : le contrle est gris (entirement 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 s arrtera sur le contrle Non : le curseur ne sarrtera pas sur le contrle Demander explication au G.F.I.
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 5. Vrifiez les modifications en affichant le formulaire en mode Formulaire et essayez de changer la valeur du champ ENCOURS
PROCEDURE :
1. 1. Fermez la base de donnes PAPETIERE.MDB (indispensable) 2. 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. 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.
A.
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. 1. Crer une nouvelle requte fonde sur les tables PRODUITS et CATEGORIE 2. 2. Faites glisser les champs CODEART, DESIGNART, LIBELLECAT et PUHT
4. 4. Visualisez la requte en mode Feuille de donnes pour vrifier que vous navez que les enregistrements relatifs aux articles de papeterie 5. 5. En mode cration, slectionnez le type de requte Mise jour dans le menu requte (ou cliquez sur le bouton 6. 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. 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 Papier qualit photo /20 45.00 F Papeterie 58.00 F Papeterie
Aprs excution de la requte Ramette papier multi usages Papier qualit photo /20 49.50 F Papeterie 63.80 F Papeterie
8. 8. Enregistrez la requte sous le nom : REQ MISE A JOUR TARIF 9. 9. Fermez la requte 10.10.Excutez de nouveau la requte : Que se passe-t-il ?
B.
On veut supprimer la commande n 4 (qui a t annule par le client) : 1. 2. 3. 4. 1. 2. 3. 4. Crez une nouvelle requte fonde sur la table commande Faites glisser tous les champs Saisissez le critre de slection en dessous du champ NOCOM : 4 Visualisez la requte
NOCOM DATECOM CODECLI 00004 19/03/2001 6 5. 5. En mode cration, activez le menu Requte Suppression ou cliquez sur le bouton 6. 6. Excutez la requte. Un message vous informe que la suppression va tre dfinitive :
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 COMMANDE Fermez la requte Cliquez sur le menu Edition - Relation Double cliquez sur la relation (sur le trait) entre COMMANDE et LIGNE COMMANDE Cochez la case Effacer en cascade (ainsi quand on supprimera une commande, toutes les lignes de commandes seront automatiquement supprimes)
Validez puis fermez la fentre Relation Dans la fentre Base de donnes, slectionnez la requte REQ SUPPRESSION DUNE COMMANDE Excutez 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.