Vous êtes sur la page 1sur 90

INTRODUCTION AUX BASES DE DONNES AVEC MICROSOFT ACCESS 2007

Objectifs Savoir interprter une modlisation de donnes en entits-associations Comprendre la structure relationnelle d'une base de donnes Connatre les lments d'une base (tables, requtes, formulaires et rapports) et matriser les principales manipulations dans loutil Access Niveau de comptences en pr-requis Pas de connaissances particulires

Ce document d'enseignement est diffus librement, pour usage individuel. Il est librement tlchargeable sur le site de l'auteur *. Michel Cartereau - Septembre 2012

AgroParisTech - UFR d'informatique - 16, rue Claude Bernard - F 75231 PARIS CEDEX 05
michel.cartereau @ agroparistech.fr - Tlphone : +33 1 44 08 16 80 * http://www.agroparistech.fr/mmip/mc/

INTRODUCTION Systme dinformation Bases de donnes Ralisation

Introduction aux bases de donnes avec Access - Page 2

INTRODUCTION AU SYSTME D'INFORMATION

EXEMPLE D'ORGANISATION VENTE DE PRODUITS (FRUITS, LGUMES) PAR UNE COOPRATIVE Produits achets un producteur et revendus des clients DIFFRENTES ACTIVITS Achat de lot un producteur, vente de produit un client, suivi de l'volution des stocks, etc. INFORMATIONS Identification des produits avec prix de vente, d'achat et quantits, coordonnes des producteurs et des acheteurs, etc. UN SYSTME D'INFORMATION UNE REPRSENTATION OPRATIONNELLE DE LA RALIT Donnes (informations associes aux activits de l'organisation) + Outils (manipulation des donnes, aide la dcision)

Introduction aux bases de donnes avec Access - Page 3

SYSTME D'INFORMATION : RALISATION


AUTOMATISATION DU FONCTIONNEMENT D'UNE ORGANISATION UNE APPLICATION SUR LE POSTE DE TRAVAIL Manipulations via un formulaire

RLE PRIMORDIAL DES DONNES LA BASE DE DONNES Ensemble structur d'informations cohrentes et prennes, correspondant ici aux activits d'une organisation MODLISATION DES DONNES Analyse des informations manipules dans l'organisation avec reprsentation formelle de leur nature et leur structuration IMPLMENTATION DES DONNES Utilisation d'un systme de gestion de base de donnes (SGBD), avec des outils pour la manipulation des donnes

PRSENTATION ICI DU CAS D'UNE PETITE BASE AVEC L'OUTIL ACCESS

Introduction aux bases de donnes avec Access - Page 4

SYSTME D'INFORMATION : VUE PRATIQUE


A QUELLES SITUATIONS DE LA COOPRATIVE CELA CORRESPOND ? PRINCIPALES ACTIVITS DU CT DES FOURNISSEURS Enregistrement d'un nouveau lot, fournisseur ou produit DU CT DES CLIENTS Enregistrement d'une vente, d'un nouveau client, EN INTERNE Mise jour du prix d'un produit, rapports, tat du stock, etc.

SUIVI GNRAL EXEMPLES DE QUESTIONS Quel est le prix du kilogramme de pomme ? Quelle est l'adresse de De La Rue ? Y-a-t-il des choux de Chine en stock ? Et combien ? A qui correspond le numro de tlphone 01.44.08.16.01 ? Combien de lgumes sont rpertoris ? Quand est-ce que King King a livr des carottes ? Combien de lots de brocolis a-t-on enregistr cette anne ? Quelle est le poids moyen des ventes de panais ? Y-a-t-il un fruit dont le prix dpasse 10 euros ? Quels sont les producteurs situs dans les Yvelines ? Quel est le plus gros stock de produit actuel ? LE SYSTME D'INFORMATION DOIT RPONDRE TOUS LES BESOINS, QUI DOIVENT TRE EXAMINS AVANT SA CRATION ( ANALYSE DES BESOINS )

Introduction aux bases de donnes avec Access - Page 5

EXEMPLES DE MANIPULATION
CAS DACTIVITS DE LA COOPRATIVE LISTE DES PERSONNES (ACHETEURS ET-OU PRODUCTEURS)

ENREGISTREMENT DUN NOUVEAU PRODUIT

MODIFICATION DES COORDONNES DUNE PERSONNE

ETAT DU STOCK

Introduction aux bases de donnes avec Access - Page 6

PRINCIPES DES BASES DE DONNES Modlisation des donnes Modle entit-association Modle relationnel

Introduction aux bases de donnes avec Access - Page 7

MODLISATION DES DONNES


QUELLES SONT LES INFORMATIONS MANIPULES ?

MODLISATION DONNES : INFORMATIONS CORRESPONDANT DES LMENTS RELS exemples : un client, un produit, un fournisseur, un lot, une vente INVENTAIRE DES LMENTS RELS ( ENTITS ) liste des donnes lmentaires 1 rattaches ( attributs ) exemple : produit avec numro, nom, type (lgume ou fruit), prix REPRSENTATION DE CHAQUE INFORMATION ( FORMAT ) utilisation de types de donnes lmentaires (texte, nombre, etc.) exemple : le nom d'un produit est un texte IDENTIFICATION DE DPENDANCES ENTRE ENTITS ( ASSOCIATIONS) exemple : une vente s'applique un seul produit et un seul client, avec une date et un prix associs LA MODLISATION DES DONNES INTERVIENT DANS LA PREMIRE TAPE DE LA CONCEPTION DU SYSTME D'INFORMATION (MODLE CONCEPTUEL ENTIT-ASSOCIATION 2 PRSENT ICI)

Une donne lmentaire ou atomique, correspond une valeur simple (nombre, texte, date, etc.) et non pas une valeur multiple (liste, ensemble, etc.) 2 En anglais : entity-relationship model, traduit aussi par modle entit-relation Introduction aux bases de donnes avec Access - Page 8

DONNE DU PRODUIT
MODLISATION DE L'ENTIT PRODUIT 1

COMMENT REPRSENTER UN PRODUIT ? DE QUOI A-T-ON BESOIN ? Le nom du produit, exemple : carotte Connatre son type, lgume ou fruit, exemple : lgume Connatre son prix de vente (1 kilogramme), exemple : 1 euro COMMENT IDENTIFIER UN PRODUIT DE MANIRE UNIQUE ? Identification possible avec son nom mais risque d'ambigut, donc plus fiable avec un numro d'ordre associ REPRSENTATION PAR LES ATTRIBUTS 1) numro : nombre entier, l' identificateur 2 2) nom : texte 3) type : texte, soit LEGUME, soit FRUIT 4) prix : nombre 2 dcimales, exemple : 1,00 (1 euro) MODLISATION Reprsentation de l'entit produit

Conventions du modle entit-association 3: entit rectangle, attribut ovale, identificateur

soulign

1 2

La reprsentation est bien sr simplifie ici, dans le cadre de cette prsentation. Dans le modle entit-association , l' identificateur identifie de manire unique et invariable une entit ; il correspond un ou plusieurs attributs. 3 Schma ralisable avec le logiciel Dia gratuit et libre pour Windows et Linux, avec le jeu de symboles ER du modle entit-association , et disponible en : http://live.gnome.org/Dia Introduction aux bases de donnes avec Access - Page 9

MODLISATION D'UNE ENTIT


EXEMPLE DU PRODUIT

LISTE DES ATTRIBUTS ensemble des donnes lmentaires caractristiques de l'entit principaux types de donne possibles : une valeur numrique avec ou sans partie dcimale, ventuellement une valeur montaire un texte libre (taille maximale fixe en nombre de caractres), ou un libell parmi quelques valeurs possibles une date et-ou une heure DTERMINATION DE L'ATTRIBUT IDENTIFICATEUR il sert identifier de manire unique un exemplaire de l'entit, il est toujours connu et il ne peut pas tre modifi (invariable) cet attribut identificateur consiste prfrentiellement en un code ou sinon, de manire gnrale, on prend un numro d'ordre

Introduction aux bases de donnes avec Access - Page 10

DONNE DE LA PERSONNE
UNE PERSONNE EST SOIT UN PRODUCTEUR, SOIT UN ACHETEUR

COMMENT REPRSENTER UNE PERSONNE ? DE QUOI A-T-ON BESOIN ? La nom de la personne exemple : De La Rue Connatre son adresse dont notamment le code postal et la ville, exemple : 80, bd. J. Jaurs - 92110 - Clichy Connatre son numro de tlphone exemple : 01.47.15.30.00 COMMENT IDENTIFIER UNE PERSONNE DE MANIRE UNIQUE ? Identification avec un numro d'ordre associ REPRSENTATION PAR LES ATTRIBUTS 1) numro : nombre entier, l' identificateur 2) nom : texte 3) adresse : texte 4) code postal : texte 5) ville : texte 6) tlphone : texte MODLISATION Reprsentation de l'entit personne

Introduction aux bases de donnes avec Access - Page 11

ENTITS ET BASE DE DONNES


CAS DES ENTITS PRODUIT ET PERSONNE

TRADUCTION D'ENTIT DANS LA BASE DE DONNES Dfinition d'une table 1 pour une entit, avec une colonne 2 par attribut et une ligne par lment de donne ( n-uplet 3) L'identificateur est appel la clef Le schma de la table indique le nom de la table et la liste des attributs, avec la spcification des caractristiques de chacun : - indication si c'est une clef - type de ses valeurs ( domaine ) SCHMA DE LA TABLE PRODUIT 1) numero : nombre entier (clef) 2) nom : texte, d'au plus 40 caractres 3) type : texte, soit LEGUME, soit FRUIT 4) prix : nombre 2 dcimales SCHMA DE LA TABLE PERSONNE 1) numero : nombre entier (clef) 2) nom : texte, d'au plus 40 caractres 3) adresse : texte, d'au plus 60 caractres 4) code_postal : texte, de 5 caractres 5) ville : texte, d'au plus 40 caractres 6) telephone : texte, de 14 caractres

UNE BASE DE DONNE EST UN ENSEMBLE DE TABLES

1 2

Une table est aussi appele une relation (vocabulaire du modle relationnel) Un attribut s'appelle aussi un champ ; ici, un nom d'attribut dans la table est par prcaution not sans accents et en remplaant tout espace par un trait de soulign ( _ ) afin d'viter des anomalies dans les traitements informatiques 3 L'lment de la table ou n-uplet s'appelle aussi un enregistrement, et tuple en anglais. Introduction aux bases de donnes avec Access - Page 12

TABLES PRODUIT ET PERSONNE


EXEMPLES DE REPRSENTATION DANS LA BASE DE DONNES

EXEMPLE POUR LA TABLE PRODUIT


produit numero nom type LEGUME 1 2 3 4 5 6 7 CAROTTE BROCOLIS PANAIS KIWI CHOU DE CHINE POMME POIRE X X X X X X X FRUIT 1,00 2,00 3,00 2,20 2,50 1,60 1,90 prix

EXEMPLE POUR LA TABLE PERSONNE


personne numero 1 2 3 4 5 6 nom adresse code_postal 93100 75013 95200 92110 78000 75020 ville telephone

DE LA RUE 9, rue Convention KING KING 1, place d'Italie LILI CESAR TAO MOMO 3, rue Rsistance 80, bd. J. Jaurs 1, avenue de Paris 6, place Gambetta

MONTREUIL 01.48.70.60.00 PARIS 01.44.08.13.13

SARCELLES 01.34.38.20.00 CLICHY 01.47.15.30.00

VERSAILLES 01.30.97.80.00 PARIS 01.43.15.20.20

Introduction aux bases de donnes avec Access - Page 13

DONNE DE LA VENTE
LA VENTE D'UN PRODUIT UNE PERSONNE

COMMENT REPRSENTER UNE VENTE ? CARACTRISATION D'UNE VENTE Association entre entits : un produit est vendu une personne, une date, avec une quantit, et un prix ventuellement diffrent du prix du produit (exemple : rduction) Identification impossible de manire unique avec ces informations : identification par un numro d'ordre REPRSENTATION Association entre un produit et une personne avec les attributs : 1) 2) 3) 4) numro : nombre entier, l' identificateur quantit : nombre entier de kilogrammes achets prix : nombre 2 dcimales du prix pay date : de la vente
DE L'ASSOCIATION VENTE

MODLISATION

Dtermination du nombre d'associations possibles ( cardinalit) pour chacune des entits, sous la forme minimum : maximum Exemple : un produit peut ne pas tre vendu ou tre vendu N fois 1 soit la cardinalit 0:N

Conventions du modle entit-association : relation losange avec les attributs propres de l'association et avec les cardinalits notes sur les branches d'entits

N dsigne ici un nombre non limit a priori, c'est--dire plusieurs fois. Introduction aux bases de donnes avec Access - Page 14

ASSOCIATION VENTE ET BASE DE DONNES


CAS DE L'ASSOCIATION DE LA VENTE TRADUCTION DANS LA BASE DE DONNES Dfinition d'une table pour l'association, o chaque entit implique est reprsente par sa clef ; ici, clefs d'entits associes : numro de produit et numro de personne (l'acheteur) Schma de la table vente : 1) numero : nombre entier (clef) 2) produit : numro d'identification dans la table produit 3) acheteur : numro d'identification dans la table personne 4) quantite : nombre entier de kilogrammes achets 5) prix : nombre 2 dcimales du prix pay en centimes 6) date : de la vente EXEMPLE DE DONNES Exemple : vente n 1 de 30 Kg de brocolis Lili le 27/12/2005 au prix de 1 90 le kilogramme
vente numero 1 2 produit numero 1 2 personne numero 1 2 3 nom adresse code_postal 93100 75013 95200 ville PARIS telephone 01.44.08.13.13 DE LA RUE 9, rue Convention KING KING 1, place d'Italie LILI 3, rue Rsistance MONTREUIL 01.48.70.60.00 SARCELLES 01.34.38.20.00 CAROTTE BROCOLIS nom X X type LEGUME FRUIT 1,00 2,00 prix produit 2 3 acheteur 3 3 quantite 30 3 prix 1,90 2,50 date 27/12/2005 28/12/2005

Introduction aux bases de donnes avec Access - Page 15

ASSOCIATION ET BASE DE DONNES


TRADUCTION DANS LE MODLE RELATIONNEL CAS GNRAL D'UNE ASSOCIATION SANS CARDINALIT 1:1 Association reprsente par une table, o chaque entit implique dans l'association y est reprsente par sa clef en tant qu'attribut Exemple : association est vendu

CAS PARTICULIER D'ASSOCIATION CARDINALIT MAXIMALE DE 1 (0:1 OU 1:1) Association reprsente dans l'entit cardinalit 1:1, par l'identificateur de l'autre entit lie en tant qu'attribut Exemple : association fournit

CLEF PRIMAIRE ET CLEF TRANGRE La clef reprsentant une entit dans la table d'une association est appele clef trangre par opposition la clef primaire servant d'identificateur dans la table de l'entit 1 Exemple : acheteur est une clef trangre dans la table vente, numro est la clef primaire dans la table personne

UNE ASSOCIATION EST REPRSENTE EN GNRAL PAR UNE TABLE, SAUF DANS LE CAS OU UNE DES BRANCHES PORTE UNE CARDINALIT 1:1

Une clef trangre est aussi appele clef externe et une clef primaire clef de relation Introduction aux bases de donnes avec Access - Page 16

DONNE DU LOT
UN LOT CORRESPOND ICI UN SEUL PRODUIT COMMENT REPRSENTER UN LOT ? CARACTRISATION D'UN LOT Une entit en double association avec produit et personne : un lot contient un produit, et il est fourni par une personne (producteur) Il faut aussi connatre la taille initiale du lot, la taille du reste (pas encore vendu), la date de la fourniture et le prix d'achat (pour 1 kg) Exemple : lot de 450 Kg de carottes entirement vendus, fourni par De La Rue le 29 dcembre 2005 au prix de 0,70 le kg COMMENT IDENTIFIER UN LOT DE MANIRE UNIQUE ? Impossible de manire unique avec les informations identification par un numro d'ordre MODLISATION

CAS PARTICULIER D'ASSOCIATIONS AVEC UNE CARDINALIT 1:1 UN LOT EST COMPOS D'EXACTEMENT 1 PRODUIT, UN LOT EST FOURNI PAR EXACTEMENT 1 PRODUCTEUR

Introduction aux bases de donnes avec Access - Page 17

LOT DANS LA BASE DE DONNES


ENTIT lot EN ASSOCIATION AVEC produit ET personne REPRSENTATION REPRSENTATION DANS LA BASE DE DONNES Associations fournit et compose avec une cardinalit 1:1 Schma de la table lot : 1) numero : nombre entier unique d'identification (clef) 2) produit : numro d'identification dans la table produit 3) producteur : numro d'identification dans la table personne 4) taille_initiale : nombre entier de kg (taille la livraison) 5) taille_reste : nombre entier de kg (pas encore vendus) 6) prix : nombre 2 dcimales, correspondant au prix d'un kilogramme achet au producteur 7) date : de la fourniture EXEMPLE DE DONNES Le lot n 1 : 450 Kg de carottes entirement vendus, achets au prix de 70 centimes le kilogramme, le 29 dcembre 2005 De La Rue
lot
numero produit 1 2 3 produit numero 1 2 personne numero 1 2 3 nom adresse code_postal 93100 75013 95200 ville PARIS telephone 01.44.08.13.13 DE LA RUE 9, rue Convention KING KING 1, place d'Italie LILI 3, rue Rsistance MONTREUIL 01.48.70.60.00 SARCELLES 01.34.38.20.00 CAROTTE BROCOLIS nom X X type LEGUME FRUIT 1,00 2,00 prix 1 3 1 producteur 1 2 2 taille_initiale 450 100 300 taille_reste 0 0 110 prix 0,70 3,00 0,60 date 29/12/2005 29/12/2005 30/12/2005

Introduction aux bases de donnes avec Access - Page 18

MODLISATION DE LA COOPRATIVE
MODLE DE DONNES

Introduction aux bases de donnes avec Access - Page 19

EXERCICE DE MODLISATION
1) Un lot peut tre vrifi une ou plusieurs fois par un employ (ventuellement diffrent chaque fois) afin de dterminer son tat gnral (bon, dgrad ou perdu) ; un employ est caractris par sa fonction et son poste tlphonique. Exemple : le lot n 1, vrifi le 30/12/2005 comme bon par Joyeux puis dgrad le 3/1/2006 par Lapin. Proposer une modlisation de l'employ et puis de la vrification

2) La cooprative offre des promotions sous la forme d'un panier de 2 produits, avec un prix attractif au kilogramme Exemple : le panier pure hivernale , 3,2 euros, compos de 1 Kg de carottes et de 1 Kg de panais a) Proposer une modlisation de ce panier

b) Quelles sont les consquences sur les autres entits ?

Introduction aux bases de donnes avec Access - Page 20

REDONDANCE ET DPENDANCE FONCTIONNELLE


DUPLICATION INUTILE DE DONNES CAS DE REDONDANCE EXEMPLE On dfinit un rfrent unique pour toute personne enregistre, qui correspond un employ de la cooprative en contact avec elle, identifi par le nom de cet employ et son poste tlphonique Si on rajoute ces attributs dans la table personne :
personne numero 1 2 3 nom DE LA RUE KING KING LILI ... telephone referent GERARD GARANCE GARANCE poste 223 222 222 ... 01.48.70.60.00 ... 01.44.08.13.13 ... 01.34.38.20.00

on voit apparatre rapidement une duplication d'information inutile et dangereuse car si par exemple le poste tlphonique d'un rfrent change, il faut alors rpercuter la modification chaque rptition CONSQUENCES Gchis de mmoire en cas de rptitions nombreuses Risques levs d'incohrence lors de mises jour incompltes ANALYSE Cas gnral de dpendance fonctionnelle entre 2 attributs d'un enregistrement : la connaissance de la valeur du premier attribut entrane la dtermination du second attribut de manire unique Exemple : si on connat le nom du rfrent, on peut trouver le poste SOLUTION Elimination des dpendances fonctionnelles par dcomposition de l'entit en plusieurs entits ; exemple :

LA REDONDANCE EST A PRIORI UN DFAUT DANS UNE BASE DE DONNES

Introduction aux bases de donnes avec Access - Page 21

INCOHRENCE ET INTGRIT RFRENTIELLE


CAS O LES DONNES ENREGISTRES SONT INCORRECTES

CAS D'INCOHRENCE EXEMPLE Cas o un lot fait rfrence un produit non enregistr
lot
numero produit 1 2 3 produit numero 1 2 4 CAROTTE BROCOLIS KIWI nom X X X type LEGUME FRUIT 1,00 2,00 2,20 prix 1 producteur 1 2 2 taille_initiale 450 100 300 taille_reste 0 0 110 prix 0,70 3,00 0,60 date 29/12/2005 29/12/2005 30/12/2005

3
1

CAUSE POSSIBLE Suppression de l'enregistrement n 3 dans la table produit MODLISATION EXEMPLE Toute rfrence un produit doit exister dans la table produit CONTRAINTE D'INTGRIT RFRENTIELLE Toute valeur d'une clef trangre doit exister pour la clef primaire

LA COHRENCE EST UNE QUALIT INDISPENSABLE DES BASES DE DONNES

Introduction aux bases de donnes avec Access - Page 22

EXERCICE DE MODLISATION

DANS LE CADRE DU SYSTME D'INFORMATION DE LA COOPRATIVE,


INDIQUER LES CONTRAINTES D'INTGRIT RELATIONNELLE

EXISTE-T-IL D'AUTRES CONTRAINTES DE COHRENCE ? LESQUELLES ?

Introduction aux bases de donnes avec Access - Page 23

CRATION D'UNE BASE DE DONNE AVEC ACCESS Loutil Access Cration d'une base Dfinition d'une table Types de donnes Ajout et mise jour de donnes

Introduction aux bases de donnes avec Access - Page 24

MICROSOFT ACCESS
UN SYSTME DE GESTION DES BASES DE DONNES (SGBD)

UN LOGICIEL DE MICROSOFT payant, pour Windows, dans Office professionnel prsentation ici des bases de la version 2007 GESTION VIA UNE INTERFACE GRAPHIQUE INTGRE organisation relationnelle des donnes dans des tables de la base manipulations via des formulaires et visualisation via des tats rcupration des donnes via des requtes possibilit de programmation ( macros ) en Visual basic
1

Access absent de Office en version famille, tudiant et PME. Introduction aux bases de donnes avec Access - Page 25

CRATION D'UNE BASE


CAS DE LA BASE POUR LA COOPRATIVE

CRATION DE LA BASE

bouton

puis commande Nouveau

choisir ensuite le dossier d'accueil et indiquer le nom du fichier, exemple : coop.accdb valider avec le bouton CRER

Passage automatique au remplissage dune nouvelle table

Annuler ce mode en cliquant sur le bouton X droite de TABLE1 UNE BASE SOUS ACCESS EST ENREGISTRE DANS UN FICHIER UNIQUE AVEC L'EXTENSION .aacdb 1

Dans le cas d'Access 97/2000/2003, l'extension est .mdb (Microsoft data base ) Introduction aux bases de donnes avec Access - Page 26

CRATION D'UNE TABLE : DBUT ET CLEF


CAS DE LA BASE coop LANCEMENT DE LA PROCDURE DE CRATION onglet CRER UNE TABLE puis CRATION DE TABLE

DFINITION DU CHAMP DE LA CLEF saisie du nom de champ 1 puis choix du type NUMROAUTO 2

marquage du champ en tant que clef de la table par la commande CRATION CLEF PRIMAIRE

TOUTE TABLE DOIT COMPORTER UNE CLEF PRIMAIRE DANS ACCESS 1

Le nom d'un champ ne doit pas tre trop long (taille maximale de 64) et ne peut pas comporter certains symboles ( . " ! `[ ] ) ; il est sage de n'utiliser que des lettres (sans accents) avec des chiffres (mais pas en dbut) et ventuellement le trait de soulign ( _ ). 2 Le type NumroAuto correspond la fixation automatique par Access de la valeur du champ de la clef pour tout nouvel enregistrement, en squence sans reprise d'un numro dj utilis. Introduction aux bases de donnes avec Access - Page 27

CRATION D'UNE TABLE : TEXTE ET LISTE


DFINITION D'UN CHAMP DE TEXTE saisie du nom de champ puis choix du type TEXTE fixation du nombre maximal de caractres (TAILLE DU CHAMP 1) et indication de l'obligation d'une valeur non vide pour la cohrence (NULL INTERDIT OUI, et CHANE VIDE AUTORISE NON)

DFINITION D'UN CHAMP AVEC UNE LISTE DE VALEURS POSSIBLES type TEXTE avec fixation de la liste des valeurs via l'onglet LISTE DE CHOIX avec les rglages de AFFICHER LE CONTRLE ZONE DE LISTE, ORIGINE SOURCE LISTE VALEURS et dans CONTENU les valeurs possibles spares par un point-virgule ( ; )

Une clef primaire est gnralement dfinie sur un champ unique (exemple : numero ) mais peut dans certains cas s'appliquer plusieurs champs identifiant conjointement de manire unique chaque enregistrement dans la table Introduction aux bases de donnes avec Access - Page 28

CRATION D'UNE TABLE : MONTAIRE ET FIN


DFINITION D'UN CHAMP MONTAIRE 2 saisie du nom de champ puis choix du type MONTAIRE indication de l'obligation d'une valeur non vide pour la cohrence, avec une valeur nulle par dfaut d'indication (VALEUR PAR DFAUT 0, NULL INTERDIT OUI)

FIN DE LA CRATION Enregistrer via le bouton du menu rapide en haut gauche, ou via la commande au menu Office, en fixant le nom de la table

CRATION DU 1ER LMENT DE LA BASE COOP : LA TABLE PRODUIT

Le type Texte autorise une valeur jusqu' 255 caractres au maximum ; au-del, le type Mmo permet l'enregistrement d'un texte jusqu' 64 000 caractres. 2 Correspond une valeur exprime dans l'unit montaire dfinie sur le poste ( en France) Introduction aux bases de donnes avec Access - Page 29

CRATION D'UNE TABLE : NUMRIQUE ET DATE


DFINITION D'UN CHAMP NUMRIQUE saisie du nom de champ puis choix du type NUMRIQUE conservation du sous-type ENTIER LONG propos (TAILLE DU CHAMP), d'une valeur nulle par dfaut d'indication (VALEUR PAR DFAUT 0) et indication de valeur obligatoire (NULL INTERDIT OUI)

DFINITION D'UN CHAMP DE DATE saisie du nom de champ 1 puis choix du type DATE indication du format (abrg, exemple : 26/09/2012), de l'obligation d'une valeur non vide pour la cohrence, avec une valeur nulle par dfaut d'indication (VALEUR PAR DFAUT 0, NULL INTERDIT OUI)

Le champ ne peut pas s'appeler exactement date , d'o ici le nom la_date Introduction aux bases de donnes avec Access - Page 30

TYPE DE DONNES DANS ACCESS


DTERMINATION LORS DE LA CRATION D'UNE TABLE

VALEURS NUMRIQUES Sans partie dcimale : Numrique puis Taille du champ entier (de - 32 767 + 32 768) ou entier long (de - 2,1 milliards + 2,1 milliards) Avec partie dcimale : Numrique puis Taille du champ dcimal (de - 1028 + 1028, avec tous les chiffres significatifs) ou rel simple (de - 1038 + 1038, 7 chiffres significatifs) ou rel double (de - 10308 + 10308, 15 chiffres significatifs) Cas particulier de valeur montaire : Montaire (de - 1015 + 1015, avec 4 chiffres significatifs aprs la virgule) Cas particulier de numro d'ordre fix automatiquement : NumroAuto (de 1 2,1 milliards)

TEXTES Texte court : Texte (taille limit fixe, 255 caractres au maximum) avec possibilit d'une liste de valeurs via Liste de choix Texte long : Memo (65 535 caractres au maximum) DATES ET HEURES Horodate (date et heure ensemble) : Date/Heure avec en option prsentation rglable via Format dans l'onglet Gnral

Introduction aux bases de donnes avec Access - Page 31

AJOUT DE DONNES
INSERTION D'ENREGISTREMENT DANS UNE TABLE DE LA BASE

OUVERTURE DE LA TABLE Double-clic sur le nom de la table

REMPLISSAGE DE LA TABLE Saisir successivement les donnes pour chaque enregistrement en laissant Access fixer automatiquement la valeur de la clef, et en passant la zone suivante avec les touches ENTRE ou TAB

Terminer la saisie en refermant la fentre

DANS LE CAS D'UN CHAMP DE TYPE NUMROAUTO, ACCESS FIXE SA VALEUR

Introduction aux bases de donnes avec Access - Page 32

MISE JOUR DE DONNES


MODIFICATION OU SUPPRESSION DANS UNE TABLE DE LA BASE MODIFICATION D'UN ENREGISTREMENT Ouvrir la table et effectuer la modification

Terminer la mise jour en refermant la fentre SUPPRESSION D'UN ENREGISTREMENT Ouvrir la table, reprer la ligne de l'enregistrement puis cliquer avec le bouton droit sur son bord gauche

Commande SUPPRIMER L'ENREGISTREMENT

Confirmer enfin la demande de suppression La clef d'un enregistrement supprim n'est pas rutilise pour un nouvel enregistrement afin d'viter une confusion IL PEUT DONC Y AVOIR DES VALEURS ABSENTES POUR UNE CLEF SI NUMRO, EXEMPLE : 1 3 4 5 6 ... (2 SUPPRIM)
Introduction aux bases de donnes avec Access - Page 33

EXERCICES SUR LA CRATION D'UNE BASE


1. Reprendre la modlisation ralise pour la cooprative et crer la base avec les tables pour les produits, personnes, lots et ventes.

2. Est-ce qu'une table doit obligatoirement comporter une clef primaire ? Une clef correspond-elle exactement un champ de la table ?

3. Comment fixer la taille maximale d'un champ de texte ? Quels sont les types correspondants utilisables dans Access ?

4. Citer 4 types principaux pour la dfinition d'un champ dans une table avec Access.

5. Quelles sont les possibilits dans Access pour assurer que la valeur d'un champ est toujours dfinie ? Comment fixer une valeur particulire en cas d'absence de dfinition dans un champ ?

6. Quelle est l'utilit du type de champ NumroAuto ? Comment sont dtermines ses valeurs ?

Introduction aux bases de donnes avec Access - Page 34

INTERROGATION D'UNE BASE DE DONNE Requtes de recherche Critres simples : comparaison, correspondance, prsence Critres avancs : combinaisons, calculs, alternatives Complments sur les requtes : doublons, tri, limitation, oprations, regroupements

Introduction aux bases de donnes avec Access - Page 35

RECHERCHE DE DONNES : REQUTE


RECHERCHE SIMPLE D'ENREGISTREMENTS DANS UNE TABLE DE LA BASE PRPARATION D'UNE REQUTE DE RECHERCHE 1) CRATION DE LA REQUTE Onglet CRER puis bouton CRATION DE REQUTE

2) INDICATION DE LA TABLE CONCERNE Slectionner la table puis cliquer sur le bouton AJOUTER

UNE RECHERCHE S'EFFECTUE VIA UNE REQUTE

Introduction aux bases de donnes avec Access - Page 36

RECHERCHE DE DONNES : REQUTE (SUITE)


EXEMPLE N 1 : TROUVER TOUS LES LGUMES EXPRESSION DE LA RECHERCHE 3) INDICATION DES DONNES AFFICHER Rgler CHAMP produit.* pour voir tous les champs en rsultat 1 et vrifier que AFFICHER est bien coch pour la colonne

4) INDICATION DU CRITRE DE RECHERCHE Ici afin d'obtenir tous les lgumes, ajouter le champ type dcocher AFFICHER, et CRITRES taper la valeur LEGUME 2

LANCEMENT DE LA REQUTE DE RECHERCHE 5) Bouton

Pour revenir la dfinition de la requte, bouton UNE RECHERCHE RENVOIE DES DONNES SOUS LA FORME D'UNE TABLE

1 2

On peut bien sr ne demander afficher que certains champs et non l'ensemble de l'enregistrement Aprs la saisie de valeur de texte, Access ajoute automatiquement les apostrophes (") autour Introduction aux bases de donnes avec Access - Page 37

REQUTE : CRITRES SIMPLES


EXPRESSIONS LMENTAIRE DE CRITRES NOTATIONS DE VALEURS texte 1 entre guillemets (" 2), nombre entier, dcimal (,) ou en notation scientifique (e), date entre dises (# 3) avec sparation de jours, mois et anne par la barre oblique (/) ou un trait d'union (-), heure avec sparation de minute et seconde par deux-points (:), valeur inexistante (null), logique (vrai, faux), choix (oui, non) exemples : "LEGUME" legume -5 1,12e5 #30/6/2009# COMPARAISON AVEC UNE VALEUR galit 4 (=), diffrence (<>), infrieur (<), infrieur ou gal (<=), suprieur (>), suprieur ou gal (>=) exemples : >= 10 < #30/6/2009# = "CHOU" <> "chou" CORRESPONDANCE AVEC UN TEXTE GNRIQUE : comme motif o motif peut contenir un ou plusieurs caractres gnriques 5 : * (aucun ou toute suite de caractres), ? (un caractre quelconque et un seul) # (un chiffre quelconque et un seul, dans du texte) exemples : comme "*CHOU*" comme "fran?oise" COMPARAISON SELON UN INTERVALLE : entre valeur1 et valeur2 s'applique des valeurs numriques, de date ou de texte 6 exemples : entre 1 et 5 entre "a" et "i" PRSENCE DANS UNE LISTE : in(valeur1;valeur2 ...) exemple : in("panais";"carotte";"poireau") VALEUR ABSENTE : est null avec la possibilit d'inversion : est pas null

1 2

Access ne fait pas la diffrence entre les lettres minuscules et majuscules lors d'une recherche Ajout automatique des guillemets autour d'un texte si pas d'ambigut 3 L'encadrement d'une date par des dises (#) est facultatif si pas d'ambigut 4 En l'absence de notation d'une comparaison, c'est l'galit qui est alors applique 5 Pour utiliser un symbole gnrique comme vritable symbole chercher (par exemple l'astrique), il faut le noter entre crochets ([ ]) ; exemple : [*] 6 Ordre lexicographique des symboles (selon l'alphabet informatique, chiffres avant lettres) Introduction aux bases de donnes avec Access - Page 38

REQUTE : CRITRES AVANCS


EXPRESSIONS PLUS COMPLEXES DE CRITRES COMBINAISON LOGIQUE conjonction (et), disjonction (ou), ngation (pas) exemple : comme "*chou*" et pas "*bruxelle*" VALEUR ISSUE D'UN CALCUL oprations arithmtiques (+ - * /) et parenthsage (), avec possibilit d'utiliser des fonctions 1 exemples : 55 * 1,196 racine(500) REPRISE D'UN CHAMP DE L'ENREGISTREMENT le champ doit tre prsent dans une colonne de la requte notation du nom du champ entre crochets : [nom] exemple : > [prix_achat] * 1,4 CALCULS SUR LES DATES ET HEURES valeur d'une date considre comme un nombre de jours, avec la date du jour dsigne par Date() valeur d'une heure considre comme un nombre de secondes, avec l'heure courante dsigne par Temps() exemple : Date() - 60 (60 jours avant aujourd'hui) CRITRES ALTERNATIFS plusieurs critres o l'un au-moins doit tre vrifi, nots en utilisant les lignes supplmentaires libelles par OU : exemple : prix de lgume suprieur 1 ou de fruit suprieur 2

Liste des fonctions dans l'aide d'Access ou manipulable via le gnrateur d'expression (cf. page 40) Introduction aux bases de donnes avec Access - Page 39

REQUTE : ASSISTANCE
ASSISTANCE POUR LA SAISIE D'UN CRITRE MENU SPCIFIQUE clic-droit dans la zone du critre et commandes CRER ou ZOOM

CRER : GNRATEUR D'EXPRESSION saisie assiste des comparaisons, fonctions et calculs

ZOOM 1 agrandissement de la zone de saisie du critre

Raccourci au clavier pour obtenir le zoom : MAJUSCULE+F2 Introduction aux bases de donnes avec Access - Page 40

REQUTE : COMPLMENTS
COMPOSANTS OPTIONNELS DE LA REQUTE VALEURS DISTINCTES
1 limination de doublons dans les rsultats : (ou clic droit dans le fond du panneau de la requte et PROPRITS) puis rglage de la zone VALEURS DISTINCTES

exemple : demande de valeurs distinctes

LIMITATION
1 limination de doublons dans les rsultats : (ou clic droit dans le fond du panneau de la requte et PROPRITS) puis rglage de la zone PREMIRES VALEURS

exemple : au plus les 5 premiers rsultats

Voir aussi le bouton de paramtrage de la requte : TRI classement des rsultats selon un ou plusieurs champs (tri successif dans l'ordre des colonnes de la requte) exemple : tri par type croissant puis par nom croissant

Attention ne pas appliquer cette commande lorsqu'une cellule de champ est slectionne car on obtient alors les proprits du champ et non pas celles de la requte. Introduction aux bases de donnes avec Access - Page 41

REQUTE : OPRATIONS
CALCULS PARTICULIERS SUR LES DONNES PRINCIPE D'UNE OPRATION 1 Rsultats sous la forme de calculs effectus sur une colonne des donnes extraites de la base par la requte Composante supplmentaire d'une requte obtenue, en considrant un champ en colonne dans la requte, via clic-droit dans le panneau de la requte et TOTAUX, ou bouton

COMPTAGE DE DONNES Nombre d'enregistrements : opration COMPTE

TOTAL Somme des valeurs des enregistrements : opration SOMME

STATISTIQUES SIMPLES Extrema : oprations MIN et MAX Moyenne : opration MOYENNE Ecart-type et variance : oprations CARTTYPE et VAR LE RSULTAT DE L'OPRATION EST TOUJOURS SOUS LA FORME D'UNE TABLE

Une opration dans une requte est aussi appele une agrgation de donnes Introduction aux bases de donnes avec Access - Page 42

REQUTE : REGROUPEMENTS
CALCULS SUR LES DONNES REGROUPES PRINCIPE D'UN REGROUPEMENT Regroupement des donnes extraites de la base par la requte selon les diffrentes valeurs d'un champ avant calcul Opration particulire : REGROUPEMENT EXEMPLES Comptage des produits par type

Nombre de de lots et taille globale par date

CHAQUE COLONNE DE LA REQUTE DOIT TRE UNE OPRATION

Introduction aux bases de donnes avec Access - Page 43

REQUTE : EXPRESSIONS DE CALCUL


CALCULS PARTICULIERS SUR LES DONNES PRINCIPE DU CALCUL DANS UN CHAMP Champ spcial ( calcul ) avec la double indication d'un nom et d'une expression de calcul Notation particulire dans la ligne du CHAMP : 1) nom de nouveau champ, termin par deux-points ( : ) 2) calcul sous la forme d'une expression 1, avec : noms de champ indiqus entre crochets ( [ ] ) calculs arithmtiques (+ - * /) EXEMPLE Retraits effectus sur chaque lot : retraits: [taille_initiale]-[taille_reste]

Prsentation simplifie ici des possibilits du langage Visual basic pour Access ; possibilit d'utilisation d'un assistant ddi (clic-droit dans la zone du champ puis, au menu, CRER) Introduction aux bases de donnes avec Access - Page 44

REQUTE : RCAPITULATIF
PRINCIPALES CARACTRISTIQUES D'UNE REQUTE SIMPLE limitation excution oprations proprits

table associe

oprations, gnrateur d'expression, zoom, proprits dans le menu contextuel d'un critre slection d'un colonne par clic sur le bord suprieur

avec la possibilit d'effacer, de couper ou de dplacer via le menu contextuel (clic-droit)

Introduction aux bases de donnes avec Access - Page 45

EXERCICES SUR LES REQUTES SIMPLES


Dans la base de la cooprative, crer les requtes afin d'obtenir :

1. Les enregistrements correspondant aux fruits

2. Le nom des produits avec un prix d'au-moins 2 euros

3. La liste du nom et du prix des produits classs par type

4. Les 3 dernires ventes

5. Les lots livrs dans la priode des 7 derniers jours

6. Les ventes effectues un prix entre 2 et 5 euros, classes par date

7. Le nombre de personnes enregistres habitant Paris

8. Pour chaque produit, le total du stock et le nombre de lots correspondant

Introduction aux bases de donnes avec Access - Page 46

RELATIONS ET JOINTURES Relations entre tables Intgrit relationnelle Jointure

Introduction aux bases de donnes avec Access - Page 47

RELATIONS ENTRE LES TABLES


TRADUCTION DES ASSOCIATIONS MODLISES DMARRAGE onglet OUTILS BASES DE DONNES, bouton

MISE EN PLACE DES TABLES Ajouts successifs de toutes les tables de la base impliques dans des associations l'aide de la bote AFFICHER LA TABLE (slection de la table puis bouton AJOUTER), avec possibilit de rarrangement en faisant glisser le titre d'une table

Introduction aux bases de donnes avec Access - Page 48

RELATIONS ENTRE LES TABLES (SUITE)


INDICATION D'UNE RELATION ENTRE DEUX TABLES slectionner et faire glisser le champ d'une clef trangre vers la table contenant la clef primaire associe exemple : produit de lot vers la table produit

cocher ensuite APPLIQUER L'INTGRIT RFRENTIELLE et valider

notification de la relation par un trait reliant les champs des 2 clefs

Introduction aux bases de donnes avec Access - Page 49

RELATION 1 PLUSIEURS
CAS DU PRODUIT CONSTITUTIF DUN LOT ASSOCIATION CARDINALITS 0:N ET 1:1 exemple : un produit compose 0 ou N lots et un lot est compos dun produit unique

RELATION DANS ACCESS proprit de la relation entre produit et lot (double-clic sur le lien)

note avec le lien aux cardinalits 1 et 1

Le symbole dsigne linfini en mathmatiques. Introduction aux bases de donnes avec Access - Page 50

CONTRAINTE DINTGRIT RFRENTIELLE


MCANISME DE GARANTIE DE LA COHRENCE DES DONNES PROPRIT DUNE RELATION DANS ACCESS exemple : relation entre produit et lot

MISE EN APPLICATION SOUS LA FORME DE CONTRLES la valeur de la clef trangre doit exister dans la clef primaire exemple : refus de lajout dun lot pour un produit inexistant

LINTGRIT RFRENTIELLE EST UN MCANISME UTILE

Introduction aux bases de donnes avec Access - Page 51

OPRATION DE JOINTURE
CAS D'INFORMATIONS RPARTIES DANS PLUSIEURS TABLES

EXEMPLE Liste des numros de lots avec date de vente et nom du vendeur
lot numero produit 1 2 3 1 3 1 producteur 1 2 2 taille_initiale 450 100 300 taille_reste 0 0 110 prix 0,70 3,00 0,60 date 29/12/2005 29/12/2005 30/12/2005

+
personne numero 1 2 3 nom adresse code_postal 93100 75013 95200 ville PARIS telephone 01.44.08.13.13 DE LA RUE 9, rue Convention KING KING 1, place d'Italie LILI 3, rue Rsistance MONTREUIL 01.48.70.60.00 SARCELLES 01.34.38.20.00

numero de lot 1 2 3

date de lot 29/12/2005 29/12/2005 30/12/2005

nom de personne DE LA RUE KING KING KING KING

JOINTURE DE TABLE regroupement de champs correspondant une mme donne

Introduction aux bases de donnes avec Access - Page 52

JOINTURE AVEC ACCESS


CAS DE LA LISTE DES LOTS AVEC NOMS DU PRODUIT ET DU VENDEUR Jointure sur 3 tables : lot, personne et produit 1) ajout des tables dans la requte (avec rappel automatique des relations) 2) indication de champ soit par choix de la table et du champ dans la grille, soit en faisant glisser son nom de la table vers la colonne de la grille

A noter : prfixage d'un nom de champ par le nom de sa table dans le cas o ce nom apparat dans une autre table afin d'viter une ambigut exemples : produit.nom et personne.nom

Introduction aux bases de donnes avec Access - Page 53

EXERCICES SUR LES JOINTURES


Dans le cadre du systme d'information de la cooprative :

1. Comment obtenir le nom des acheteurs de chou de Chine ?

2. Calculer le nombre et le poids total des livraisons pour chaque produit

3. Y-a-t-il des produits provenant de Paris ? Si oui, lesquels ?

4. Comment obtenir la liste trie des noms de fruits pour lesquels il y a des lots puiss ?

5. Quels sont les prix moyens dachat et de vente des choux ?

6. Peut-on connatre les acheteurs des lgumes fournis par King King ?

Introduction aux bases de donnes avec Access - Page 54

FORMULAIRES Cration d'un formulaire simple Cas de donnes issues de plusieurs tables

Introduction aux bases de donnes avec Access - Page 55

FORMULAIRE : CRATION
EXEMPLE DE CONSTRUCTION RAPIDE D'UN FORMULAIRE DE SAISIE DU PRODUIT PARTIR D'UN FORMULAIRE CRE AUTOMATIQUEMENT PAR ACCESS

DMARRAGE DE LA CRATION DU FORMULAIRE Slectionner d'abord la table des donnes (ici produit) puis dans l'onglet CRER cliquer sur le bouton FORMULAIRE

Introduction aux bases de donnes avec Access - Page 56

FORMULAIRE : MODES D'AFFICHAGE


VISUALISATION DU FORMULAIRE AUTOMATIQUE AVEC LES DONNES Formulaire oprationnel : passage l'enregistrement suivant ( ), ajout d'un nouvel enregistrement ( ) etc., sur la barre en bas gauche

Visualisation en mode formulaire MODIFICATION DU FORMULAIRE Passage en mode cration via le bouton AFFICHAGE

Alternatives : clic-droit sur l'intitul du formulaire ou barre en bas droite

Introduction aux bases de donnes avec Access - Page 57

FORMULAIRE : TRANSFORMATION D'UNE ZONE


ZONE DE SAISIE DU TYPE DE PRODUIT transformation en liste droulante par clic-droit dans la zone puis la commande REMPLACER PAR et ZONE DE LISTE DROULANTE

Vrification en mode formulaire :

Introduction aux bases de donnes avec Access - Page 58

FORMULAIRE : AJOUT DE BOUTON DE COMMANDE


BOTE OUTILS palette des diffrents lments composant un formulaire : dans l'onglet CRATION, le groupe CONTRLES BOUTON DE SAUVEGARDE DE L'ENREGISTREMENT cliquer sur le bouton ou dans la bote outils

puis cliquer l'endroit voulu dans le formulaire et faire-glisser pour fixer sa taille puis relcher

choisir OPRATIONS SUR ENREG. et SAUVEGARDER UN ENREGISTREMENT puis passer l'tape suivante avec le bouton SUIVANT

choisir une image puis achever l'opration avec le bouton TERMINER procder de mme pour le bouton de fermeture, en choisissant OPRATION SUR FORMULAIRE et FERMER UN FORMULAIRE

Introduction aux bases de donnes avec Access - Page 59

FORMULAIRE : ENREGISTREMENT
PROPRITS DU FORMULAIRE slection du formulaire en entier par clic sur le carr l'origine des rgles puis dans l'onglet CRATION, bouton FEUILLE DE PROPRITS

fixation du titre de la bote de saisie la proprit LGENDE la proprit SOURCE indique la table o s'enregistrent les donnes, ici c'est la table produit ENREGISTREMENT DU FORMULAIRE bouton en haut droite ou alors fermer la bote du formulaire (bouton X droite de l'intitul), puis indiquer le nom du formulaire

Introduction aux bases de donnes avec Access - Page 60

FORMULAIRE : CAS DU LOT


DONNES CONCERNANT EN FAIT PLUSIEURS TABLES
produit numero 1 2 nom CAROTTE BROCOLIS ... ... ... personne numero 1 2 3 4 nom DE LA RUE KING KING LILI JOSETTE ... ... ... ... ...

liste des produits

liste des personnes

enregistrement (ou mise jour) du lot :


lot
numero produit 1 1 producteur 1 taille_initiale 450 taille_reste 450 prix 0,70 date 20/09/2012

produit et producteur : enregistrement du numro et non pas du nom CERTAINES DONNES NE SONT PAS SAISIES PAR L'UTILISATEUR MAIS DPENDENT D'UN DE SES CHOIX ET PROVIENNENT ALORS D'UNE TABLE

Introduction aux bases de donnes avec Access - Page 61

FORMULAIRE : CAS DU LOT (SUITE)


CONSTRUCTION DU FORMULAIRE PARTIR DE REQUTES PROVENANCE ET DESTINATION DES DONNES a) Tables des produits et des personnes listes des noms de produit et de producteur pour la saisie besoin de disposer pour chaque nom dans une liste, du numro correspondant pour enregistrement comme clef secondaire b) Table des lots enregistrement de toutes les informations sur un lot PRINCIPE DE RALISATION POUR UNE LISTE DES NOMS 1) Utilisation d'une requte pour construire la liste, avec le nom (pour affichage) et le numro associ (pour enregistrement) requte pour les noms de personne liste_nom_num_personne avec le nom en colonne n 1 et le numro en n 2

2) Transformation de la zone du formulaire en liste droulante avec un double paramtrage pour l'affichage et l'enregistrement : a) liste des donnes issue dune requte, avec affichage de noms b) numro associ enregistr aprs choix d'un nom par l'utilisateur Exemple de la zone de liste du producteur : affichage de la liste des noms mais enregistrement du numro associ au nom choisi

MCANISME SUBTIL : REQUTE ET PARAMTRAGE DE LA ZONE DE LISTE

Introduction aux bases de donnes avec Access - Page 62

FORMULAIRE : CAS DU LOT (FIN)


CAS DE LA ZONE DU PRODUCTEUR DANS LE FORMULAIRE DUN LOT (FORMULAIRE CR AU PRALABLE AVEC LA ZONE DE LISTE DROULANTE) PARAMTRAGE DE LA ZONE DE LISTE DROULANTE Via les proprits du champ du formulaire : slection du champ puis FEUILLE DE PROPRITS dans l'onglet CRATION ou clic-droit dans le champ puis PROPRITS au menu

Proprits dans longlet DONNES SOURCE CONTRLE : champ de la table o s'enregistre la donne, ici c'est le champ producteur CONTENU : choix de la requte, ici liste_nom_num_personne ORIGINE SOURCE : TABLE/REQUTE COLONNE LIE : colonne dans les rsultats de la requte qui contient la valeur enregistrer, ici la 2e correspondant au numro

Proprits dans longlet FORMAT NBRE COLONNES : nombre de donnes d'un rsultat de la requte afficher dans la zone du formulaire, ici 1 seule, c'est--dire la premire 1 correspondant au nom

Access prend automatiquement en compte le nombre de colonnes indiques partir de la premire dans le rsultat de la requte Introduction aux bases de donnes avec Access - Page 63

EXERCICES SUR LES FORMULAIRES


Dans le cadre du systme d'information de la cooprative :

1. Construire un formulaire pour la saisie d'une personne

2. Pour la saisie d'une vente et d'un lot, construire le formulaire associ en dfinissant au pralable une requte afin d'obtenir les donnes ncessaires chaque cas.

3. A quoi correspond la proprit SOURCE pour un formulaire ? et SOURCE CONTRLE pour une zone de saisie ?

4. Quelles sont les proprits d'une zone de liste modifiable utiles pour y associer en donnes les rsultats d'une requte ?

Introduction aux bases de donnes avec Access - Page 64

ETATS Cration rapide d'un tat Personnalisation d'un tat

Introduction aux bases de donnes avec Access - Page 65

ETAT : CRATION
CONSTRUCTION RAPIDE D'UN TAT POUR LA LISTE DES PERSONNES

DMARRAGE DE LA CRATION DE L'TAT 1) Slection de l'origine des donnes, ici la table personne 2) Onglet Crer, bouton ETAT

UN TAT REPOSE SUR DES DONNES ISSUES D'UNE TABLE OU D'UNE REQUTE

Introduction aux bases de donnes avec Access - Page 66

ETAT : MODIFICATIONS
PERSONNALISATION DU CONTENU DE L'TAT MODIFICATION DE L'TAT Passage en mode cration via AFFICHAGE dans l'onglet ACCUEIL

la mise en page d'un tat se dcompose en plusieurs parties : - en-tte et pied d'tat : textes placs respectivement au dbut et la fin du document - en-tte et pied de page : textes placs respectivement au haut et en bas de chaque page du document - dtail : partie principale du document, rpte pour chaque enregistrement de la table de donnes associe l'tat RETOUCHE D'UN LIBELL slectionner l'lment du formulaire au libell par un clic dessus (apparition de carrs sur les bords du cadre) mise en forme 1 possible quand slectionn via la barre d'outils spcialise du groupe POLICE dans l'onglet CRER

cliquer l'intrieur pour modifier son texte et terminer par la touche ENTRE

La mise en forme s'applique toujours globalement au texte, et non pas une partie seulement. Introduction aux bases de donnes avec Access - Page 67

ETAT : MODIFICATIONS (SUITE)


CHAMP DE DONNE pour supprimer l'lment dun champ de donne (exemple : telephone), slection puis touche SUPPR pour insrer un champ dans ltat : a) demander la liste des champs via le bouton AJOUTER DES CHAMPS EXISTANTS dans l'onglet CRER b) slectionner un champ dans la liste et le faire ensuite glisser pour le dposer l'endroit voulu sur l'tat : insertion du libell avec la zone de la valeur

AJOUTS D'LMENT COMPLMENTAIRE Groupe CONTRLE dans l'onglet CRER

Principaux lments complmentaires (ou contrles ) : libell (texte) : icne image (fichier) : icne trait ou rectangle : icnes REDIMENSIONNEMENT D'UN LMENT slectionner puis faire glisser un bord ou un coin via le carr noir correspondant (flche double) DPLACEMENT D'UN LMENT slectionner puis faire glisser le gros carr 1 en haut gauche (flche quadruple) ou

Si ce carr est invisible, il y a un effet de disposition actif qui empche le dplacement ; cet effet s'efface par clic-droit puis DISPOSITION SUPPRIMER Introduction aux bases de donnes avec Access - Page 68

ETAT : REGROUPEMENT
REGROUPEMENT SELON UN CHAMP AU SEIN DE L'TAT EXEMPLE Ventes avec regroupement par lgume et ensuite tri par date

ETAT AVEC REGROUPEMENT 1) cration automatique de l'tat partir d'une requte jointure 2) bouton REGROUPER ET TRIER de l'onglet CRER, puis en dessous de l'tat, bouton AJOUTER UN GROUPE pour dfinir le champ de regroupement (ici le nom de produit) 3) dplacement du champ de regroupement (ici le nom de produit) dans l'en-tte de groupe par couper-coller (via le clic-droit), avec annulation pralable de sa disposition si besoin 4) bouton AJOUTER UN TRI pour le tri sur la date de la vente

Introduction aux bases de donnes avec Access - Page 69

ETAT : EXPRESSIONS
CALCULS SUR LES DONNES OU VALEURS PARTICULIRES NOTATION D'UNE EXPRESSION Introduction au sein d'un lment de texte de l'tat Syntaxe des expressions 1 : - dbut de l'expression marqu par le symbole gal (=) - texte littral not entre guillemets (") - collage de textes avec le symbole & - notation d'un champ de donne par son nom entre crochets ([ ]) avec la possibilit de calculer le total dans le cas de regroupement avec la fonction Somme() - calculs arithmtiques (+ - * /) - paramtres particuliers comme [Page] et [Pages] pour dsigner respectivement le numro de la page courante et le nombre total de pages dans le document - fonctions comme DATE() pour la date courante, Temps() pour l'heure courante, ou Maintenant() pour les deux la fois Utilisation de l'assistant du gnrateur d'expression : slection de l'lment puis AFFICHAGE PROPRITS puis dans l'onglet DONNES slection du paramtre SOURCE CONTRLE et clic sur EXEMPLES 1) Cas du pied de page avec la date et la pagination
=Maintenant() ="Page " & [Page] & " sur " & [Pages]

affichera :
06/07/2009 17:10:15 Page 1 sur 2

2) Cas de la valeur totale d'une vente


=[quantite]*[prix] & " "

affichera (cas d'une vente de 5 Kg 3 / Kg):

15

3) Cas de la somme des tailles restantes des lots par produit expression placer dans l'en-tte de groupe de l'tat
=Somme([taille_restante])

affichera (total de 350) :

350

Version du langage Visual basic pour Access Introduction aux bases de donnes avec Access - Page 70

EXERCICES SUR LES TATS


Dans le cadre du systme d'information de la cooprative :

1. Construire l'tat des produits.

2. Construire l'tat des ventes avec le regroupement par produit et le calcul de la valeur d'une vente.

3. Construire l'tat des lots avec un double regroupement : principal sur le produit, secondaire sur le fournisseur. Ajouter ensuite le calcul du stock restant pour chaque produit.

Introduction aux bases de donnes avec Access - Page 71

EXEMPLE D'APPLICATION DANS ACCESS Formulaire gnral Macro

Introduction aux bases de donnes avec Access - Page 72

FORMULAIRE GNRAL
MANIPULATIONS GNRALES DU SYSTME D'INFORMATION

PLUSIEURS TYPES D'LMENTS 1) Boutons pour l'affichage d'un tat association avec les tats dj construits 2) Boutons pour l'ajout d'un enregistrement association avec les formulaire de saisie dj construits mais avec positionnement sur un nouvel enregistrement 3) Liste droulante pour slectionner un enregistrement, avec le bouton de commande associ pour la mise jour de l'enregistrement choisi zone de liste droulante construire l'aide de requte existante et association avec le formulaire de saisie dj construit mais pour l'enregistrement slectionn

Introduction aux bases de donnes avec Access - Page 73

CRATION DU FORMULAIRE GNRAL


CAS DE FORMULAIRE SANS DONNES ASSOCIES 1) Dans la rubrique FORMULAIRES de la fentre de la base, commande CRER UN FORMULAIRE EN MODE CRATION

2) Dans la fentre de cration apparue, redimensionner rapidement la zone grise dlimitant le formulaire en tirant dans un coin

3) Enregistrer via le bouton du menu rapide en haut gauche, ou via la commande au menu Office, en fixant le nom du formulaire

4) Vrifier la prsence de la bote outils au panneau CONTRLES dans l'onglet CRATION de OUTILS DE CRATION DE FORMULAIRE

Introduction aux bases de donnes avec Access - Page 74

BOUTON ASSOCI UN TAT


L'TAT DOIT TRE DFINI AU PRALABLE CRATION DU BOUTON DE COMMANDE cliquer sur le bouton ou dans la bote outils puis cliquer l'endroit voulu et faire-glisser pour fixer sa taille DFINITION DU RLE DU BOUTON choisir d'abord OPRATIONS SUR TAT et APERU D'UN TAT

puis l'tape suivante, indiquer l'tat appropri (ici celui des personnes)

et l'tape suivante,fixert le libell du bouton (TEXTE) et terminer

NE PAS OUBLIER DE VRIFIER LE BON FONCTIONNEMENT DU BOUTON EN PASSANT EN MODE D'EXCUTION VIA AFFICHAGE MODE FORMULAIRE
Introduction aux bases de donnes avec Access - Page 75

MACRO ASSOCIE UN AJOUT


BESOIN D'UTILISER UN COMPOSANT SPCIAL : UNE MACRO RLE DE LA MACRO petit programme pour provoquer ici l'ouverture du formulaire de saisie en ajout d'un nouvel enregistrement CRATION DE LA MACRO dans l'onglet CRER, bouton MACRO

ensuite choisir l'action OUVRIRFORMULAIRE avec les proprits : NOM FORMULAIRE : celui du formulaire associ un produit MODE DONNES : choisir AJOUT

terminer en fermant la bote et en enregistrant la macro avec un intitul explicite

Introduction aux bases de donnes avec Access - Page 76

BOUTON ASSOCI UN AJOUT


MACRO D'AJOUT DFINIE AU PRALABLE DFINITION DU RLE DU BOUTON DE COMMANDE crer le bouton, choisir la catgorie DIVERS et EXCUTER UNE MACRO

puis indiquer la macro correspondante

et enfin fixer le libell du bouton

NE PAS OUBLIER DE VRIFIER LE BON FONCTIONNEMENT DU BOUTON EN PASSANT EN MODE D'EXCUTION VIA AFFICHAGE MODE FORMULAIRE
Introduction aux bases de donnes avec Access - Page 77

ZONE DE LISTE DROULANTE


DONNES DE LA LISTE ISSUES D'UNE TABLE OU D'UNE REQUTE DFINIE AU PRALABLE CRATION DE LA ZONE DE LISTE choisir dans la bote outils des contrles le bouton a) valider l'option JE VEUX QUE LA LISTE
MODIFIABLE RECHERCHE LES VALEURS DANS UNE TABLE OU REQUTE

b) indiquer la requte (ou la table) qui fournira les donnes de la liste

c) indiquer les champs des donnes placer dans la liste droulante

Introduction aux bases de donnes avec Access - Page 78

ZONE DE LISTE DROULANTE (SUITE)


d) fixer si besoin un tri

e) ajuster si besoin la largeur des colonnes

f) indiquer ensuite quel champ sera retenu comme valeur aprs une slection dans la liste

g) terminer en retouchant si besoin le libell (tiquette) qui apparatra devant la liste

en mode cration :

et en fonctionnement :

Introduction aux bases de donnes avec Access - Page 79

MODIFICATION APRS CHOIX DANS UNE ZONE


CAS DE LA MODIFICATION DE L'ENREGISTREMENT
CHOISI AU PRALABLE DANS LA LISTE DROULANTE

1) ATTRIBUTION D'UN NOM LA ZONE DE LISTE Slection de la zone de liste puis AFFICHAGE PROPRITS et dans l'onglet AUTRES, fixer le nom la proprit NOM 2) CRATION D'UNE MACRO SPCIFIQUE Action OUVRIRFORMULAIRE avec indication du formulaire en question et avec indication de l'enregistrement choisi en CONDITION WHERE par l'expression suivante :
[produit]![numero]=[Formulaires]![Formulaire_general]![choix_numero_produit]

qui peut tre fabrique en s'aidant du gnrateur d'expression :

3) CRATION DU BOUTON DE COMMANDE bouton auquel est associ la macro cre prcdemment

Introduction aux bases de donnes avec Access - Page 80

FINALISATION DU FORMULAIRE
MISE EN FORME COMPLMENTAIRE Illustration (outil ) Intitul (outil )

Cadre : rectangle (outil ) avec un intitul plac dessus ACTIVATION AUTOMATIQUE Cration dune macro avec le nom prcis AUTOEXEC et laction OUVRIRFORMULAIRE suivie de AGRANDIR

Introduction aux bases de donnes avec Access - Page 81

RSUM GNRAL
RALISATION DUNE BASE DE DONNE AVEC ACCESS

UNE TAPE PRLIMINAIRE : LA MODLISATION examen approfondi des donnes du systme dinformation conception dun modle avec les entits, attributs et associations UNE CONSTRUCTION PROGRESSIVE : LA BASE DE DONNE mise en place des tables de la base dfinition des relations entre les tables criture des requtes de manipulation des donnes ralisation des formulaires et des tats programmation complmentaire de macros

Introduction aux bases de donnes avec Access - Page 82

COMPLMENTS Echanges entre Access et Excel

Introduction aux bases de donnes avec Access - Page 83

ECHANGES D'ACCESS VERS EXCEL : EXPORT


TRANSFERTS DE DONNES D'UNE TABLE VERS UNE FEUILLE DE CALCUL EXPORTATION DE DONNES VERS UNE FEUILLE DE CALCUL Cration d'un classeur Excel partir des donnes d'une table, avec une feuille de calcul unique Slectionner une table dans le panneau gauche de navigation, puis clic-droit et la commande EXPORTER EXCEL, ou dans l'onglet DONNES EXTERNES, groupe EXPORTER, bouton EXCEL

Rgler TYPE DE FICHIER CLASSEUR EXCEL 97 - EXCEL 2000 (*.XLS) et cocher EXPORTER LES DONNES AVEC LA MISE EN FORME... (largeurs de colonne ajustes et types de donnes conservs) A l'tape suivante, ne pas cocher a priori ENREGISTRER LES TAPES...

Les noms de champs sont automatiquement repris en 1re ligne Nom de la feuille cre identique celui de la table exporte CRATION D'UNE FEUILLE DE CALCUL SIMILAIRE LA TABLE EXPORTE

Introduction aux bases de donnes avec Access - Page 84

ECHANGES D'EXCEL VERS ACCESS : IMPORT


TRANSFERTS DE DONNES D'UNE FEUILLE DE CALCUL VERS UNE TABLE IMPORTATION DE DONNES PARTIR D'UNE FEUILLE DE CALCUL Cas d'ajout des donnes de la feuille une table existante : les colonnes doivent correspondre la structure de la table, et dans le cas d'une clef valeur automatique (type NUMROAUTO), laisser les cellules correspondantes vides dans la feuille de calcul Exemple de feuille de calcul correspondant des personnes :

Dans l'onglet DONNES EXTERNES, groupe IMPORTER, bouton EXCEL

choisir le fichier des donnes, cocher AJOUTER UNE COPIE en slectionnant la table de destination, puis passer l'tape suivante

ATTENTION LA CORRESPONDANCE DES CHAMPS ENTRE FEUILLE ET TABLE !

Introduction aux bases de donnes avec Access - Page 85

ECHANGES D'EXCEL VERS ACCESS : IMPORT (SUITE)


Si le classeur contient plusieurs feuilles de calculs indiquer alors la feuille contenant les donnes importer

passer ensuite l'tape suivante Vrifier la bonne correspondance des collonnes avec les champs de la table

passer ensuite l'tape suivante

Confirmer finalement l'importation dans la table

Introduction aux bases de donnes avec Access - Page 86

INDEX -, 38, 39 ", 38, 70 #, 38 , 50 &, 70 (), 39 *, 38, 39 /, 38, 39 :, 38 ;, 28 ?, 38 [ ], 38, 39, 70 [Page], 70 [Pages], 70 +, 39 <, 38 <=, 38 <>, 38 =, 38, 70 >, 38 >=, 38 Afficher le contrle, 28 association, 15, 16, 48 attribut, 10 attributs, 8 autoexec, 81 bote outils, 59, 74 bouton de commande, 59 ajout, 77 tat, 75 cardinalit, 14, 16, 50 Chane vide autorise, 28 champ, 12 DATE, 30 LISTE DE VALEURS, 28 Mmo, 29 MONTAIRE, 29 nom, 27 NUMRIQUE, 29, 30 TEXTE, 28, 29, 30 champ calcul, 44 champ, prfixage, 53 Classement, 41 clef, 12, 27, 33 clef trangre, 16, 49, 51 dpendance fonctionnelle, 21 domaine, 12 doublons, 41 e, 38 cartType, 42 enregistrement, 12 entier, 31 entier long, 31 entit, 9, 10 entits, 8 entre, 38 et, 39 tat, 66

dtail, 67 clef primaire, 16, 28, 49, pied, 67 51 tat, champ de donne, 68 cohrence, 51 Colonne lie, 63 comme, 38 Comptage, 42 Compte, 42 Condition Where, 80 Contenu, 28, 63 contrainte d'intgrit rfrentielle, 22 Crer, 40 Critres alternatifs, 39 date courante, 70 Date(), 39, 70 Date/Heure, 31 dates, 39 dcimal, 31 tat, dplacement, 68 tat, en-tte, 67 tat, image, 68 tat, libell, 68 tat, rectangle, 68 tat, redimensionnement, 68 tat, trait, 68 Excel, 84, 85 exportation, 84 expression, 70 faux, 38 fonction, 39 format, 8

Introduction aux bases de donnes avec Access - Page 87

formulaire, 56 proprits, 60 Formulaire, 74

modle entit-relation, 8 requte, 36 modification, 33 Montaire, 31 saisie, 56 SGBD, 25 Somme, 42 Somme(), 70 source, 60 Source contrle, 63 suppression, 33 systme d'information, 3 table, 9, 12 Taille du champ, 28, 30 Temps(), 39, 70 Texte, 31 texte littral, 70 Total, 42 Tri, 41 tuple, 12 types de donne, 10 valeur atomique, 8 Valeur par dfaut, 30 Valeurs distinctes, 41 Var, 42 vrai, 38 Zone de liste, 28, 63 zone de liste modifiable, 58 Zoom, 40

gnrateur d'expression, Moyenne, 42 40, 80 Nbre colonnes, 63 heure courante, 70 ngation, 39 heures, 39 Nom, 80 identificateur, 10 non, 38 importation, 85 null, 38 in, 38 Null interdit, 28, 30 incohrence, 22 Numrique, 31 infini, 50 NumroAuto, 27, 31 insertion, 32 n-uplet, 12 intgrit rfrentielle, 49, opration, 42 51 Origine source, 28, 63 jointure, 52, 53 ou, 39 Lgende, 60 oui, 38 Limitation, 41 OuvrirFormulaire, 81 Liste de choix, 28 pas, 39 liste droulante, 62, 78 Premires lignes, 41 Liste valeurs, 28 recherche, 36 macro redondance, 21 ajout, 76 rel double, 31 Maintenant(), 70 rel simple, 31 Majuscule+F2, 40 Max, 42 Memo, 31 Min, 42 mode cration, 57, 67 Mode Formulaire, 57 regroupement, 43, 69, 70 relation, 8, 12, 48 Relation 1 plusieurs, 50

Introduction aux bases de donnes avec Access - Page 88

SOMMAIRE INTRODUCTION..........................................................................................2 Introduction au systme d'information ................................................3 Systme d'information : ralisation ....................................................4 Systme d'information : vue pratique .................................................5 Exemples de manipulation .................................................................6 PRINCIPES DES BASES DE DONNES ...........................................................7 Modlisation des donnes..................................................................8 Donne du produit ..............................................................................9 Modlisation d'une entit ..................................................................10 Donne de la personne ....................................................................11 Entits et base de donnes ..............................................................12 Tables produit et personne ..............................................................13 Donne de la vente ..........................................................................14 Association vente et base de donnes.............................................15 Association et base de donnes ......................................................16 Donne du lot ...................................................................................17 Lot dans la base de donnes ...........................................................18 Modlisation de la cooprative .........................................................19 Exercice de modlisation .................................................................20 Redondance et dpendance fonctionnelle .......................................21 Incohrence et intgrit rfrentielle ................................................22 Exercice de modlisation .................................................................23 CRATION D'UNE BASE DE DONNE AVEC ACCESS .....................................24 Microsoft Access ..............................................................................25 Cration d'une base .........................................................................26 Cration d'une table : dbut et clef ...................................................27 Cration d'une table : texte et liste ...................................................28 Cration d'une table : montaire et fin .............................................29 Cration d'une table : numrique et date .........................................30 Type de donnes dans Access ........................................................31 Ajout de donnes .............................................................................32 Mise jour de donnes ....................................................................33 Exercices sur la cration d'une base ................................................34 INTERROGATION D'UNE BASE DE DONNE ..................................................35 Recherche de donnes : requte .....................................................36 Recherche de donnes : requte (suite) ..........................................37 Requte : critres simples ................................................................38 Requte : critres avancs ...............................................................39 Requte : assistance ........................................................................40 Requte : complments ...................................................................41 Requte : oprations ........................................................................42 Requte : regroupements.................................................................43 Requte : expressions de calcul ......................................................44 Requte : rcapitulatif ......................................................................45 Exercices sur les requtes simples ..................................................46
Introduction aux bases de donnes avec Access - Page 89

RELATIONS ET JOINTURES ........................................................................47 Relations entre les tables .................................................................48 Relations entre les tables (suite) ......................................................49 Relation 1 plusieurs .......................................................................50 Contrainte dintgrit rfrentielle ....................................................51 Opration de jointure ........................................................................52 Jointure avec Access .......................................................................53 Exercices sur les jointures ................................................................54 FORMULAIRES.........................................................................................55 Formulaire : cration ........................................................................56 Formulaire : modes d'affichage ........................................................57 Formulaire : transformation d'une zone ............................................58 Formulaire : ajout de bouton de commande.....................................59 Formulaire : enregistrement .............................................................60 Formulaire : cas du lot ......................................................................61 Formulaire : cas du lot (suite) ...........................................................62 Formulaire : cas du lot (fin)...............................................................63 Exercices sur les formulaires ...........................................................64 ETATS ....................................................................................................65 Etat : cration ...................................................................................66 Etat : modifications ...........................................................................67 Etat : modifications (suite) ................................................................68 Etat : regroupement .........................................................................69 Etat : expressions .............................................................................70 Exercices sur les tats .....................................................................71 EXEMPLE D'APPLICATION DANS ACCESS ....................................................72 Formulaire gnral ..........................................................................73 Cration du formulaire gnral .........................................................74 Bouton associ un tat ..................................................................75 Macro associe un ajout ...............................................................76 Bouton associ un ajout ................................................................77 Zone de liste droulante ...................................................................78 Zone de liste droulante (suite) ........................................................79 Modification aprs choix dans une zone ..........................................80 Finalisation du formulaire .................................................................81 Rsum gnral ...............................................................................82 COMPLMENTS .......................................................................................83 Echanges d'Access vers Excel : export ............................................84 Echanges d'Excel vers Access : import ............................................85 Echanges d'Excel vers Access : import (suite) .................................86

Introduction aux bases de donnes avec Access - Page 90