Cours Access Complet
l EXEMPLE D'ORGANISATION
VENTE DE PRODUITS (FRUITS, LÉGUMES) PAR UNE COOPÉRATIVE
Produits achetés à un producteur et revendus à des clients
DIFFÉRENTES ACTIVITÉS
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 quantités, coordonnées des producteurs et des acheteurs, etc.
l UN SYSTÈME D'INFORMATION
UNE REPRÉSENTATION OPÉRATIONNELLE DE LA RÉALITÉ
Données (informations associées aux activités de l'organisation)
+ Outils (manipulation des données, aide à la décision)
SYSTÈME D'INFORMATION : RÉALISATION
AUTOMATISATION DU FONCTIONNEMENT D'UNE ORGANISATION
UNE APPLICATION SUR LE POSTE DE TRAVAIL
Manipulations via un formulaire
l RÔLE PRIMORDIAL DES DONNÉES
LA BASE DE DONNÉES
Ensemble structuré d'informations cohérentes et pérennes, correspondant ici aux activités d'une organisation
MODÉLISATION DES DONNÉES
Analyse des informations manipulées dans l'organisation avec représentation formelle de leur nature et leur structuration
IMPLÉMENTATION DES DONNÉES
Utilisation d'un système de gestion de base de données (SGBD), avec des outils pour la manipulation des données
PRÉSENTATION ICI DU CAS D'UNE PETITE BASE AVEC L'OUTIL ACCESS
SYSTÈME D'INFORMATION : VUE PRATIQUE
A QUELLES SITUATIONS DE LA COOPÉRATIVE CELA CORRESPOND ?
l PRINCIPALES ACTIVITÉS
DU CÔTÉ DES FOURNISSEURS
Enregistrement d'un nouveau lot, fournisseur ou produit
DU CÔTÉ DES CLIENTS
Enregistrement d'une vente, d'un nouveau client,
EN INTERNE
Mise à jour du prix d'un produit, rapports, état du stock, etc.
l SUIVI GÉNÉRAL
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 numéro de téléphone 01.44.08.16.01 ?
Combien de légumes sont répertoriés ?
Quand est-ce que King King a livré des carottes ?
Combien de lots de brocolis a-t-on enregistré cette année ?
Quelle est le poids moyen des ventes de panais ?
Y-a-t-il un fruit dont le prix dépasse 10 euros ?
Quels sont les producteurs situés dans les Yvelines ?
Quel est le plus gros stock de produit actuel ?
LE SYSTÈME D'INFORMATION DOIT RÉPONDRE À TOUS LES BESOINS,QUI
DOIVENT ÊTRE EXAMINÉS AVANT SA CRÉATION («ANALYSE DES BESOINS »)
EXEMPLES DE MANIPULATION
CAS D’ACTIVITÉS DE LA COOPÉRATIVE
LISTE DES PERSONNES (ACHETEURS ET-OU PRODUCTEURS)
ENREGISTREMENT D’UN NOUVEAU PRODUIT
MODIFICATION DES COORDONNÉES D’UNE PERSONNE
ETAT DU STOCK
PRINCIPES DES BASES DE DONNÉES
Modélisation des données
Modèle « entité-association »
Modèle « relationnel »
MODÉLISATION DES DONNÉES
QUELLES SONT LES INFORMATIONS MANIPULÉES ?
l MODÉLISATION
DONNÉES : INFORMATIONS CORRESPONDANT À DES ÉLÉMENTS RÉELS exemples : un client, un produit, un fournisseur, un lot, une vente
INVENTAIRE DES ÉLÉMENTS RÉELS (« ENTITÉS ») liste des données élémentaires rattachées (« attributs ») exemple : produit avec numéro, nom, type (légume ou fruit), prix
REPRÉSENTATION DE CHAQUE INFORMATION (« FORMAT ») utilisation de types de données élémentaires (texte, nombre, etc.) exemple : le nom d'un produit est un texte
IDENTIFICATION DE DÉPENDANCES ENTRE ENTITÉS (« ASSOCIATIONS») exemple : une vente s'applique à un seul produit et un seul client,
avec une date et un prix associés
LA MODÉLISATION DES DONNÉES INTERVIENT DANS LA PREMIÈRE ÉTAPE
DE LA CONCEPTION DU SYSTÈME D'INFORMATION
(MODÈLE CONCEPTUEL «ENTITÉ-ASSOCIATION »PRÉSENTÉ ICI)
DONNÉE DU PRODUIT
MODÉLISATION DE L'ENTITÉ « PRODUIT »
l COMMENT REPRÉSENTER UN PRODUIT ?
DE QUOI A-T-ON BESOIN ?
Le libellé du produit, exemple : carotte
Connaître son type, légume ou fruit, exemple : légume
Connaître son prix de vente (1 kilogramme), exemple : 1 euro
COMMENT IDENTIFIER UN PRODUIT DE MANIÈRE UNIQUE ?
Identification possible avec son libellé mais risque d'ambiguïté, et de plus information susceptible d'être modifiée avec le temps, donc plus fiable avec un numéro d'ordre stable associé
REPRÉSENTATION PAR LES ATTRIBUTS
1) numéro de produit : nombre entier, l'« identifiant »
2) libellé : texte
3) type : texte, soit LEGUME, soit FRUIT
4) prix de vente : nombre décimal en euros, exemple : 1,5 (1 euro 50)
l MODÉLISATION
Représentation de l'entité « produit » avec la liste de ses attributs
Par convention, l'identifiant est souligné
MODÉLISATION D'UNE ENTITÉ
EXEMPLE DU PRODUIT
l ENTITÉ DÉCRITE PAR SES ATTRIBUTS
LISTE DES ATTRIBUTS ensemble des données élémentaires caractéristiques de l'entité principaux types de donnée possibles :
- une valeur numérique avec ou sans partie décimale, éventuellement une valeur monétaire
- un texte libre (taille maximale fixée en nombre de caractères), ou un libellé parmi quelques valeurs possibles
- une date et-ou une heure
DÉTERMINATION DE L'ATTRIBUT IDENTIFIANT il sert à identifier de manière unique un exemplaire de l'entité, il est toujours connu et il ne peut pas être modifié (invariable)
cet attribut identifiant consiste préférentiellement en un code ou sinon, de manière générale, on prend un numéro d'ordre
DONNÉE DE LA PERSONNE
UNE PERSONNE EST SOIT UN PRODUCTEUR, SOIT UN ACHETEUR
l COMMENT REPRÉSENTER UNE PERSONNE ?
DE QUOI A-T-ON BESOIN ?
La nom de la personne exemple : De La Rue
Connaître son adresse dont notamment le code postal et la ville, exemple : 80, bd. J. Jaurès - 92110 - Clichy Connaître son numéro de téléphone exemple : 01.47.15.30.00
COMMENT IDENTIFIER UNE PERSONNE DE MANIÈRE UNIQUE ?
Identification avec un numéro d'ordre associé
REPRÉSENTATION PAR LES ATTRIBUTS
1) num personne : nombre entier, l'« identifiant »
2) nom : texte
3) adresse : texte
4) code postal : texte
5) ville : texte
6) téléphone : texte
MODÉLISATION
Représentation de l'entité « personne »
ENTITÉS ET BASE DE DONNÉES
CAS DES ENTITÉS PRODUIT ET PERSONNE
l TRADUCTION D'ENTITÉ DANS LA BASE DE DONNÉES
PRINCIPES
Définition d'une « table » pour une entité, avec une colonne par attribut et une ligne par élément de donnée (« n-uplet » )
L'identifiant est appelé la « clef » ; il est automatiquement créé un « index » associé dans la base pour la gestion des données
Le « schéma de la table » indique le nom de la table et la liste des attributs, avec la spécification des caractéristiques de chacun :
- indication si c'est la clef
- type de ses valeurs (« domaine »)
- donnée obligatoire ou facultative
SCHÉMA DE LA TABLE « PRODUIT »
1) num_produit : nombre entier (clef)
2) libelle : texte, d'au plus 40 caractères 3) type : texte, soit LEGUME, soit FRUIT
4) prix_vente : nombre à 2 décimales
SCHÉMA DE LA TABLE « PERSONNE »
1) num_personne : nombre entier (clef)
2) nom : texte, d'au plus 40 caractères
3) adresse : texte, d'au plus 60 caractères
4) code_postal : texte, de 5 caractères
5) ville : texte, d'au plus 40 caractères
6) telephone : texte, de 14 caractères
UNE BASE DE DONNÉE EST UN ENSEMBLE DE TABLES
TABLES PRODUIT ET PERSONNE
produit |
||||
num_produit |
libelle |
type |
prix_vente |
|
LEGUME |
FRUIT |
|||
1 |
CAROTTE |
X |
1,00 |
|
2 |
BROCOLIS |
X |
2,00 |
|
3 |
PANAIS |
X |
3,00 |
|
4 |
KIWI |
X |
2,20 |
l EXEMPLE POUR LA TABLE « PERSONNE »
personne |
|||||
num_personne |
nom |
adresse |
code_postal |
ville |
telephone |
1 |
DE LA RUE |
9, rue Convention |
93100 |
MONTREUIL |
01.48.70.60.00 |
2 |
KING KING |
1, place d'Italie |
75013 |
PARIS |
01.44.08.13.13 |
3 |
LILI |
3, rue Résistance |
95200 |
SARCELLES |
01.34.38.20.00 |
4 |
CESAR |
80, bd. J. Jaurès |
92110 |
CLICHY |
01.47.15.30.00 |
DONNÉE DE LA VENTE
LA VENTE D'UN PRODUIT À UNE PERSONNE
l COMMENT REPRÉSENTER UNE VENTE ?
CARACTÉRISATION D'UNE VENTE
Un produit est vendu à une personne, à une date, avec une quantité et à un prix éventuellement différent du prix du produit (exemple : réduction) Entité pour la vente, avec associations à un produit et à une personne, et identification impossible de manière unique avec ses informations : → identification par un numéro d'ordre
REPRÉSENTATION
Entité « vente » :
1) num vente : nombre entier, l'« identifiant »
2) quantité : nombre entier de kilogrammes achetés 3) prix vendu : nombre à 2 décimales du prix vendu
4) date vente : de la vente (forme internationale : année-mois-jour) et associations avec produit (« vendre ») et personne (« acheter »)
MODÉLISATION D'UNE VENTE
Détermination du nombre d'associations possibles (« cardinalité») pour chacune des entités, sous la forme « minimum, maximum »
1) vente concerne exactement un produit à cardinalité ,1
1 produit peut ne pas être vendu ou l'être N fois 1 à cardinalité 0,N 1 vente concerne exactement une personne à cardinalité 1,1
1 personne peut ne pas acheter ou le faire N fois à cardinalité 0,N
DONNÉE DE LA VENTE (SUITE)
l REPRÉSENTATION DES ASSOCIATIONS POUR LA VENTE
Association représentée par un polygone avec son nom à l'intérieur, et les cardinalités notées sur les branches vers les entités
ASSOCIATION VENTE ET BASE DE DONNÉES
Définition d'une table pour l'association, où chaque entité impliquée est représentée par sa clef ; ici, clefs d'entités associées : numéro du produit vendu et numéro de la personne acheteuse Schéma de la table « vente »:
1) num_vente : nombre entier (clef)
2) ref_produit : numéro d'identification dans la table « produit »
3) ref_acheteur : numéro d'identification dans la table « personne »
4) quantite : nombre entier de kilogrammes achetés
5) prix_vendu : nombre décimal du prix vendu en euros
6) date_vente : de la vente
l EXEMPLE DE TABLES
Exemple : vente n° 1 de 30 Kg de brocolis à Lili le 27/12/2005 au prix de 1 € 90 le kilogramme
DONNÉE DU LOT
CARACTÉRISATION 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 connaître 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 entièrement vendus, fourni par De La Rue le 29 décembre 2005 au prix de 0,70 € le kg
COMMENT IDENTIFIER UN LOT DE MANIÈRE UNIQUE ?
Impossible de manière unique avec les informations
→ identification par un numéro d'ordre
REPRÉSENTATION Entité « lot » :
1) num lot : nombre entier, l'« identifiant »
2) taille initiale : nombre entier de kilogrammes achetés au producteur
3) taille reste : nombre entier de kilogrammes encore en stock
4) prix achat : nombre à 2 décimales du prix acheté au producteur
5) date achat : de l'achat au producteur
et associations avec produit (« composer ») et personne (« fournir »)
MODÉLISATION
Association « un produit compose un lot »
1) produit peut ne pas composer ou le faire N fois à cardinalité 0,N
1 lot est composé d'exactement un produit à cardinalité 1,1
Association « un producteur fournit un lot »
1 personne peut ne pas fournir ou le faire N fois à cardinalité 0,N
1 lot est fourni par exactement une personne à cardinalité 1,1
DONNÉE DU LOT (SUITE)
l REPRÉSENTATION DES ASSOCIATIONS DE LOT
CAS D'ASSOCIATION « 1À PLUSIEURS »
LOT DANS LA BASE DE DONNÉES
REPRÉSENTATION DANS LA BASE DE DONNÉES
Associations « fournit » et « compose » avec une cardinalité 1:1 Schéma de la table « lot » :
1) num_lot : nombre entier unique d'identification (clef)
2) ref_produit : numéro d'identification dans la table « produit »
3) ref_producteur : numéro 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_achat : nombre entier en centimes, correspondant au prix d'un kilogramme acheté au producteur
7) date_achat : date de l'achat
EXEMPLE DE TABLES
Le lot n° 1 : 450 Kg de carottes entièrement vendus, achetés au prix de 0,70 euros le kilogramme, le 29 décembre 2005 à De La Rue
EMBALLAGES DE PRODUIT
l COMMENT REPRÉSENTER UN EMBALLAGE DE PRODUIT ?
CARACTÉRISATION D'UN EMBALLAGE
Un produit peut-être conditionné dans un emballage défini par le libellé de son type et sa capacité (en litres)
Exemple : carottes dans un sac biodégradable de 5 litres
REPRÉSENTATION
Entité « emballage » :
1) num emballage : nombre entier, l'« identifiant »
2) modèle : texte, libellé du type d'emballage 3) capacité : nombre entier, capacités en litres et association avec produit (« emballer »)
ASSOCIATION ENTRE UN PRODUIT ET UN TYPE D'EMBALLAGE
Association « emballer » : un produit est conditionné selon un type d'emballage
1) type d'emballage peut ne pas être utilisé ou emballer N produits à cardinalité 0,N
1 produit peut ne pas être emballé ou l'être avec N types d'emballage à cardinalité 0,N
CAS D'ASSOCIATION «PLUSIEURS À PLUSIEURS »OU « NÀ N »
EMBALLAGES DE PRODUIT (SUITE)
l REPRÉSENTATION DANS LA BASE DE DONNÉES
Association représentée par une table de correspondance constituée des clefs de chaque entité associée, avec identification par ces clefs Schéma de la table « emballer » :
1) ref_produit : numéro d'identification dans la table « produit »
2) ref_emballage : numéro d'identification dans la table « emballage »
Exemple : carottes conditionnées dans un pochon en papier
CAS D'ASSOCIATION «PLUSIEURS À PLUSIEURS »OU « NÀ N »
ASSOCIATION ET BASE DE DONNÉES
CAS PARTICULIER D'ASSOCIATION « 1 À N » AVEC UNE CARDINALITÉ ,1 1 Association représentée dans l'entité à cardinalité 1,1, par l'identifiant de l'autre entité liée en tant qu'attribut
Exemple : associations « composer » et « fournir »
CAS GÉNÉRAL D'UNE ASSOCIATION « N À N » SANS CARDINALITÉ 1,1
Association représentée par une table, où chaque entité impliquée dans l'association y est représentée par sa clef en tant qu'attribut
Exemple : association « emballer »
CLEF PRIMAIRE ET CLEF ÉTRANGÈRE
La clef représentant une entité dans la table d'une association est appelée « clefétrangère » par opposition à la « clefprimaire » servant d'identifiant dans la table de l'entité
Exemple : ref_acheteur est une clef étrangère dans la table vente, num_personne est la clef primaire dans la table personne
UNE ASSOCIATION EST REPRÉSENTÉE EN GÉNÉRAL PAR UNE CLEF ÉTRANGÈRE,
SAUF DANS LE CAS OU LES BRANCHES PORTENT UNE CARDINALITÉ N
MODÉLISATION DE LA COOPÉRATIVE
MODÈLE DE DONNÉES GLOBAL
POUR UNE RÉALITÉ DONNÉE,PLUSIEURS MODÈLES SONT POSSIBLES
EXERCICES D'EXTENSION DU MODÈLE
1) Un lot peut être vérifié une ou plusieurs fois par un employé (éventuellement différent à chaque fois) afin de déterminer son état général (bon, dégradé ou perdu) ; un employé est caractérisé par sa fonction et son poste téléphonique.
Exemple : le lot n° 1, vérifié le 30/12/2005 comme bon par Joyeux puis dégradé le 3/1/2006 par Lapin.
Proposer une modélisation de l'employé et puis de la vérification
2) La coopérative offre des promotions sous la forme d'un panier de 2 produits, avec un prix attractif au kilogramme
Exemple : le panier « purée hivernale », à 3,2 euros, composé de 1 Kg de carottes et de 1 Kg de panais
a) Proposer une modélisation de ce panier
b) Quelles sont les conséquences sur les autres entités ?
REDONDANCE DES DONNÉES
On définit un référent unique pour toute personne enregistrée, qui correspond à un employé de la coopérative en contact avec elle, identifié par le nom de cet employé et son poste téléphonique Si on rajoute ces attributs dans la table « personne » :
personne |
|||||
num_ personne |
nom |
telephone |
referent |
poste |
|
1 |
DE LA RUE |
01.48.70.60.00 |
GERARD |
223 |
|
2 |
KING KING |
01.44.08.13.13 |
GARANCE |
222 |
|
3 |
LILI |
01.34.38.20.00 |
GARANCE |
222 |
on voit apparaître rapidement une duplication d'information inutile et dangereuse car si par exemple le poste téléphonique d'un référent change, il faut alors répercuter la modification à chaque répétition
CONSÉQUENCES
Gâchis de mémoire en cas de répétitions nombreuses
Risques élevés d'incohérence lors de mises à jour incomplètes
ANALYSE
Cas général de « dépendance fonctionnelle » entre 2 attributs d'un enregistrement : la connaissance de la valeur du premier attribut entraîne la détermination du second attribut de manière unique
Exemple : si on connaît le nom du référent, on peut trouver le poste
SOLUTION
Elimination des dépendances fonctionnelles par décomposition de l'entité en plusieurs entités ; exemple :
LA REDONDANCE EST UN DÉFAUT DANS UNE BASE DE DONNÉES
INCOHÉRENCE DES DONNÉES
EXEMPLE DE RÉFÉRENCE INCORRECTE : INCOHÉRENCE RÉFÉRENTIELLE Cas où un lot fait référence à un produit non enregistré
Cause possible de cette situation incohérente suppression brutale de l'enregistrement n° 3 dans la table produit
AUTRES CAS : INCOHÉRENCE DE VALEUR
Valeur obligatoire absente, ou en dehors du domaine de la colonne
l CONTRAINTES DE COHÉRENCE
CONTRAINTE DE CLEF
Toute valeur d'une clef est unique
CONTRAINTE DE DOMAINE
Toute valeur d'une colonne doit correspondre à son domaine
Exemple : la valeur d'un type de produit est soit LEGUME, soit FRUIT
CONTRAINTE D'INTÉGRITÉ RÉFÉRENTIELLE
Toute valeur d'une clef étrangère doit exister pour la clef primaire
Exemple : toute référence à un produit doit exister dans la table produit
LA COHÉRENCE EST UNE QUALITÉ INDISPENSABLE DES BASES DE DONNÉES
EXERCICE SUR LA COHÉRENCE
DANS LE CADRE DU SYSTÈME D'INFORMATION DE LA COOPÉRATIVE,
INDIQUER LES CONTRAINTES D'INTÉGRITÉ RELATIONNELLE
EXISTE-T-IL D'AUTRES CONTRAINTES DE COHÉRENCE ? LESQUELLES ?
MODÉLISATION CONCEPTUELLE : RÉCAPITULATIF
l DÉCOMPOSITION EN ENTITÉS
INVENTAIRE DES ÉLÉMENTS DE LA RÉALITÉ identification d'éléments indépendants
DÉTERMINATION DES ATTRIBUTS POUR CHAQUE ENTITÉ liste des données atomiques, avec leurs formats de valeurs
CHOIX DE L'IDENTIFIANT un ou plusieurs des attributs
l IDENTIFICATION DES ASSOCIATIONS
ASSOCIATIONS EXISTANTES associations entre deux ou plus entités
DÉTERMINATION DES CARACTÉRISTIQUES DE CHAQUE ASSOCIATION liste des éventuels attributs spécifiques et des cardinalités
l VALIDATION DU MODÈLE CONCEPTUEL
ELIMINATION DES REDONDANCES redécomposition d'entité si besoin
DÉTERMINATION DES CONTRAINTES valeurs obligatoires, intégrité référentielle
CONFRONTATION AUX BESOINS vérification de la possibilité de répondre à toutes les questions
ETAPE DE MODÉLISATION CONCEPTUELLE CRUCIALE,
SITUÉE ENTRE L'ANALYSE DES BESOINS ET
LA CRÉATION DE LA BASE DE DONNÉES
PASSAGE À LA BASE DE DONNÉES
TRADUCTION DES ENTITÉS-ASSOCIATIONS (MODÈLE CONCEPTUEL)
EN UNE BASE DE DONNÉES (MODÈLE RELATIONNEL)
OPÉRATION DE TRADUCTION AUTOMATISABLE
EXERCICES SUR LA MODÉLISATION
1. Comment définit-on une entité ?
2. Quelles sont les caractéristiques d'une association ?
3. Quel est le rôle d'un identifiant ?
4. Quels sont les principaux types de données ?
5. Que signifie une cardinalité de type « 1,1 » et « 0,1 » ?
6. A quoi correspondent une entité et un identifiant dans le modèle relationnel ?
7. Quelle est la différence entre une clef primaire et une clef étrangère ?
8. Citer les types de contraintes de cohérence
9. Qu'est-ce qu'une dépendance fonctionnelle ?
10. Comment interpréter une association du type « 1 à 1 » ?
CRÉATION D'UNE BASE DE DONNÉE AVEC ACCESS
L’outil Access
Création d'une base
Définition d'une table
Types de données
Ajout et mise à jour de données
MICROSOFT ACCESS
UN SYSTÈME DE GESTION DES BASES DE DONNÉES (SGBD)
payant, pour Windows, dans Office professionnel présentation ici des bases de la version 2013
GESTION VIA UNE INTERFACE GRAPHIQUE INTÉGRÉE organisation relationnelle des données dans des tables de la base manipulations via des formulaires et visualisation via des états récupération des données via des requêtes d'interrogation possibilité de programmation (« macros ») en Visual basic
CRÉATION D'UNE BASE
CAS DE LA BASE POUR LA COOPÉRATIVE
Dans la fenêtre d'accueil du démarrage, choisir
BASE DE DONNÉES DU BUREAU VIDE
Si choix absent, commande FICHIER, NOUVEAU
Fixer ensuite le dossier d'accueil via et indiquer le nom du fichier exemple : coop.accdb
Valider enfin avec le bouton CRÉER
Passage automatique au remplissage d’une nouvelle table
Annuler ce mode en cliquant sur le bouton X à droite de TABLE
UNE BASE SOUS ACCESS EST ENREGISTRÉE DANS UN FICHIER UNIQUE
AVEC L'EXTENSION .aacdb1
CRÉATION D'UNE TABLE : DÉBUT ET CLEF
CAS DE LA BASE « coop » : table « produit »
l LANCEMENT DE LA PROCÉDURE DE CRÉATION onglet CRÉER puis CRÉATION DE TABLE
l DÉFINITION DU CHAMP DE LA CLEF
saisie du nom de champ puis fixation de son type à NUMÉROAUTO
marquage du champ en tant que clef de la table par
TOUTE TABLE DOIT COMPORTER UNE CLEF PRIMAIRE DANS ACCESS
CRÉATION D'UNE TABLE : FIN ET RÉ-ÉDITION
l FIN DE LA CRÉATION
A l'issue de la définition de tous les champs de la table, enregistrer via le boutondu menu rapide en haut à gauche, ou FICHIER, ENREGISTRER Fixer ensuite le nom de la table :
En cas d'oubli de fixation de la clef primaire de la table, signalé par :
cliquer sur ANNULER pour revenir à la liste des champs et indiquer la clef
En cas de fermeture de la fenêtre sans enregistrement, confirmer par OUI
ou sinon cliquer sur Annuler pour revenir à la liste des champs Après la fermeture de sa fenêtre de création, la table est indiquée dans le volet de navigation (si volet invisible, bouton )
l RÉÉDITION D'UNE TABLE
Pour revenir à la liste des champs d'une table, clic-droit sur son nom dans le volet puis MODE
CRÉATION
CHAMPS : TEXTE, CHOIX BINAIRE
l DÉFINITION D'UN CHAMP DE TEXTE
Saisie du nom de champ puis choix du type TEXTE COURT
Fixation du nombre maximal de caractères à TAILLE DU CHAMP , et éventuellement de texte non vide : CHAÎNE VIDE AUTORISÉE à NON
l DÉFINITION D'UN CHAMP À CHOIX BINAIRE
Cas de 2 valeurs seules possibles : OUI/NON, VRAI/FAUX, ACTIF/INACTIF
Type OUI/NON puis réglages dans l'onglet GÉNÉRAL :
FORMAT au couple de valeurs possibles,
VALEUR PAR DÉFAUT à la valeur en l'absence de choix
CHAMPS : LISTE DE CHOIX
l DÉFINITION MANUELLE D'UN CHAMP À LISTE DE CHOIX
type TEXTE COURT puis réglages dans l'onglet LISTE DE CHOIX :
AFFICHER LE CONTRÔLE à ZONE DE LISTE DÉROULANTE, ORIGINE SOURCE à
l ASSISTANT DE DÉFINITION D'UN CHAMP À LISTE DE CHOIX
Activer ASSISTANT LISTE DE CHOIX dans TYPE DE DONNÉES
A la première étape : choisir l'option
JE TAPERAI LES VALEURS SOUHAITÉES
A la deuxième étape :
laisser NOMBRE DE COLONNES à 1 et saisir chaque valeur possible sur une ligne
A la troisième étape :
laisser le nom d'étiquette proposée
cocher LIMITER À LA LISTE pour interdire la saisie d'une valeur endehors de la liste définie
Valider avec le bouton TERMINER
CHAMPS : MONÉTAIRE, DATE
l DÉFINITION D'UN CHAMP MONÉTAIRE
Valeur exprimée dans une unité monétaire du poste (€ en France), un nombre décimal affiché avec deux décimales après la virgule Saisie du nom de champ puis choix du type MONÉTAIRE
l DÉFINITION D'UN CHAMP DE DATE
Saisie du nom de champ puis choix du type DATE
Fixation de AFFICHER LE SÉLECTEUR DE DATES à A CERTAINES DATES afin de disposer d'une aide lors de la saisie (calendrier) A priori ne pas utiliser le réglage FORMAT 1
1 Le choix d'un format particulier, comme DATE, ABRÉGÉ, peut poser souci dans des formulaires particuliers
CHAMPS : NUMÉRIQUE, CLEF ÉTRANGÈRE
l DÉFINITION D'UN CHAMP NUMÉRIQUE
saisie du nom de champ puis choix du type NUMÉRIQUE choix du sous-type proposé via TAILLE DU CHAMP
octet : 0 à 255 entier : - 32 767 à + 32 768
entier long : - 2,1 milliards à + 2,1 milliards décimal : - 1028 à + 1028, avec tous les chiffres significatifs
Attention : fixer via ECHELLE le nombre de chiffres après la virgule réel simple : - 1038 à + 1038, 7 chiffres significatifs réel double : - 10308 à + 10308, 15 chiffres significatifs
l DÉFINITION D'UN CHAMP DE CLEF ÉTRANGÈRE
Cas de champ faisant référence à la clef primaire d'une autre table, exemple : ref_producteur de lot è num_personne de personne
Le type du champ doit correspondre à celui de la clef primaire visée, dans le cas d'une clef de type NUMÉROAUTO c'est alors ENTIER LONG
CHAMPS : VALEURS OBLIGATOIRE ET PAR DÉFAUT
COMMENT PRENDRE EN CHARGE L'ABSENCE DE VALEUR DANS UN CHAMP ?
l CHAMP À VALEUR OBLIGATOIRE
Option de valeur obligatoire dans le champ : NULL INTERDIT à OUI où null correspond (en anglais) à « valeur indéfinie », a priori absence de valeur autorisée (sauf pour une clef)
Option de texte non vide : CHAÎNE VIDE AUTORISÉE à NON s'utilise pour un champ de texte à valeur obligatoire car le texte vide est une valeur particulière parfois interdite, a priori texte vide autorisé
l VALEUR PAR DÉFAUT D'UN CHAMP
Option de valeur définie automatiquement quand le champ n'est pas saisi lors de la création d'un enregistrement : VALEUR PAR DÉFAUT à a priori pas de valeur par défaut
Exemple : champ numérique à valeur nulle par défaut d'indication
TYPE DE DONNÉES DANS ACCESS
DÉTERMINATION LORS DE LA CRÉATION D'UNE TABLE
l VALEURS NUMÉRIQUES
Sans partie décimale : NUMÉRIQUE puis TAILLE DU CHAMP à
ENTIER (de - 32 767 à + 32 768) ou
ENTIER LONG (de - 2,1 milliards à + 2,1 milliards)
Avec partie décimale : NUMÉRIQUE puis TAILLE DU CHAMP à
DÉCIMAL (de - 1028 à + 1028, avec tous les chiffres significatifs) ou
RÉEL SIMPLE (de - 1038 à + 1038, 7 chiffres significatifs) ou
RÉEL DOUBLE (de - 10308 à + 10308, 15 chiffres significatifs)
Cas particulier de valeur monétaire : MONÉTAIRE
(de - 1015 à + 1015, avec 4 chiffres significatifs après la virgule)
Cas particulier de numéro d'ordre fixé automatiquement : NUMÉROAUTO équivalent à ENTIER LONG (de 1 à 2,1 milliards)
l TEXTES
Texte court : TEXTE COURT (taille limité fixée, 255 caractères maximum) avec possibilité d'une liste de valeurs via LISTE DE CHOIX ou un choix binaire via OUI/NON
Texte long : TEXTE LONG (65 535 caractères au maximum)
l DATES ET HEURES
Horodate (date et heure ensemble) : DATE/HEURE avec en option présentation réglable via FORMAT dans l'onglet GÉNÉRAL
AJOUT DE DONNÉES
INSERTION D'ENREGISTREMENT DANS UNE TABLE DE LA BASE
l OUVERTURE DE LA TABLE
Double-clic sur le nom de la table pour obtenir un formulaire de saisie
l REMPLISSAGE DE LA TABLE
Saisir successivement les données pour chaque enregistrement en laissant Access fixer automatiquement la valeur de la clef, et en passant au champ suivant avec les touches ENTRÉE ou TAB
Terminer la saisie en refermant la fenêtre
DANS LE CAS D'UN CHAMP DE TYPE NUMÉROAUTO,ACCESS FIXE SA VALEUR
MISE À JOUR DE DONNÉES
MODIFICATION OU SUPPRESSION DANS UNE TABLE DE LA BASE
l MODIFICATION D'UN ENREGISTREMENT
Ouvrir la table et effectuer la modification
Terminer en refermant la fenêtre
l SUPPRESSION D'UN ENREGISTREMENT
Ouvrir la table, sélectionner la ligne de l'enregistrement, onglet ACCUEIL, , SUPPRIMER L'ENREGISTREMENT (ou clic-droit sur la ligne)
IL PEUT DONC Y AVOIR DES VALEURS ABSENTES POUR UNE CLEFÀ NUMÉRO,EXEMPLE :13456(2SUPPRIMÉ)
EXERCICES SUR LA CRÉATION D'UNE BASE
1. Reprendre la modélisation réalisée pour la coopérative et créer 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 définition d'un champ dans une table avec
Access.
5. Quelles sont les possibilités dans Access pour assurer que la valeur d'un champ est toujours définie ? Comment fixer une valeur particulière en cas d'absence de définition dans un champ ?
6. Quelle est l'utilité du type de champ « NuméroAuto » ? Comment sont déterminées ses valeurs ?
INTERROGATION D'UNE BASE DE DONNÉE
Requêtes de recherche
Critères simples : comparaison, correspondance, présence
Critères avancés : combinaisons, calculs, alternatives
Compléments sur les requêtes : doublons, tri, limitation, opérations, regroupements
RECHERCHE DE DONNÉES : REQUÊTE
RECHERCHE SIMPLE D'ENREGISTREMENTS DANS UNE TABLE DE LA BASE
l PRÉPARATION D'UNE REQUÊTE DE RECHERCHE
1) CRÉATION DE LA REQUÊTE
Onglet CRÉER puis bouton CRÉATION DE REQUÊTE
2) INDICATION DE LA TABLE CONCERNÉE
Sélectionner la table dans la liste puis cliquer sur le bouton AJOUTER
UNE RECHERCHE S'EFFECTUE VIA UNE REQUÊTE
RECHERCHE DE DONNÉES : REQUÊTE (SUITE)
EXEMPLE N° 1 : TROUVER TOUS LES LÉGUMES
l EXPRESSION DE LA RECHERCHE
3) INDICATION DES DONNÉES À AFFICHER
Régler CHAMP à produit.* pour voir tous les champs en résultat et vérifier que AFFICHER est bien coché pour la colonne
4) INDICATION DU CRITÈRE DE RECHERCHE
Afin d'obtenir tous les légumes, ajouter en 2nde colonne le champ type décocher AFFICHER, et à CRITÈRES taper la valeur LEGUME
l LANCEMENT DE LA REQUÊTE DE RECHERCHE
UNE RECHERCHE RENVOIE DES DONNÉES SOUS LA FORME D'UNE TABLE
REQUÊTE : CRITÈRES SIMPLES
EXPRESSIONS ÉLÉMENTAIRE DE CRITÈRES
l NOTATIONS DE VALEURS
texte entre guillemets (" ), nombre entier, décimal (,) ou en notation
scientifique (e), date entre dièses (# ) avec séparation de jours, mois et année par la barre oblique (/) ou un trait d'union (-), heure avec séparation 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#
l COMPARAISON AVEC UNE VALEUR
égalité (=), différence (<>), inférieur (<), inférieur ou égal (<=),
supérieur (>), supérieur ou égal (>=)
exemples : >= 10 < #30/6/2009# = "CHOU" <> "chou"
l CORRESPONDANCE AVEC UN TEXTE GÉNÉRIQUE : COMME MOTIF où motif peut contenir un ou plusieurs caractères génériques :
* (aucun ou toute suite de caractères), ? (un caractère quelconque et un seul)
# (un chiffre quelconque et un seul, dans du texte)
exemples : comme "*CHOU*" comme "fran?oise"
l COMPARAISON PAR INTERVALLE : ENTRE VALEUR1 ET VALEUR2 s'applique à des valeurs numériques, de date ou de texte exemples : entre 1 et 5 entre "a" et "i"
l PRÉSENCE DANS UNE LISTE : IN(VALEUR1;VALEUR2 ) exemple : in("panais";"carotte";"poireau")
l VALEUR ABSENTE : EST NULL avec la possibilité d'inversion : est pas null
REQUÊTE : CRITÈRES AVANCÉS
EXPRESSIONS PLUS COMPLEXES DE CRITÈRES
l COMBINAISON LOGIQUE
conjonction (et), disjonction (ou), négation (pas)
exemple : comme "*chou*" et pas "*bruxelle*"
l VALEUR ISSUE D'UN CALCUL opérations arithmétiques (+ - * /) et parenthèsage (),
avec possibilité d'utiliser des fonctions
exemples : 55 * 1,196 racine(500)
l REPRISE D'UN CHAMP DE L'ENREGISTREMENT
le champ doit être présent dans une colonne de la requête notation du nom du champ entre crochets : [nom]
exemple : > [prix_achat] * 1,4
l CALCULS SUR LES DATES ET HEURES
valeur d'une date considérée comme un nombre de jours,
avec la date du jour désignée par Date()
valeur d'une heure considérée comme un nombre de secondes, avec
l'heure courante désignée par Temps()
exemple : Date() - 60 (60 jours avant aujourd'hui)
l CRITÈRES ALTERNATIFS
plusieurs critères où l'un au-moins doit être vérifié,
notés en utilisant les lignes supplémentaires libellées par OU : exemple : prix de légume supérieur à 1 € ou de fruit supérieur à 2 €
REQUÊTE : ASSISTANCE
ASSISTANCE POUR LA SAISIE D'UN CRITÈRE
l MENU SPÉCIFIQUE
clic-droit dans la zone du critère et commandes CRÉER ou ZOOM
l CRÉER : GÉNÉRATEUR D'EXPRESSION
saisie assistée des comparaisons, fonctions et calculs
l ZOOM agrandissement de la zone de saisie du critère
REQUÊTE : DOUBLONS, LIMITATION, TRI
COMPOSANTS OPTIONNELS DE LA REQUÊTE
l VALEURS DISTINCTES élimination des doublons en résultat : CRÉER,
(ou clic droit dans le fond du panneau de la requête et PROPRIÉTÉS) puis réglage de la zone VALEURS DISTINCTES
exemple : demande de valeurs distinctes
(ou clic droit dans le fond du panneau de la requête et PROPRIÉTÉS) puis réglage de la zone PREMIÈRES VALEURS
exemple : au plus les 5 premiers résultats
l TRI classement des résultats selon un ou plusieurs champs (tri successif
dans l'ordre des colonnes de la requête)
exemple : tri par TYPE croissant puis par LIBELLE croissant
tri possible dans la fenêtre de résultats par clic sur entête de colonne
REQUÊTE : AGRÉGATION DE DONNÉES
CALCUL PARTICULIER SUR UN ENSEMBLE DE LIGNES
l PRINCIPE D'UNE AGRÉGATION
Opération effectuée sur l'ensemble des valeurs d'une colonne de la table ou sur des sous-ensembles associés à chaque valeur d'un autre champ Composant supplémentaire d'une requête obtenue en considérant un champ en colonne dans la requête, via clic-droit dans le panneau de la requête et TOTAUX, ou bouton
l COMPTAGE DE DONNÉES
Nombre d'enregistrements : opération COMPTE
è
l TOTAL
Somme des valeurs des enregistrements : opération SOMME
è
l STATISTIQUES SIMPLES
Extrema : opérations MIN et MAX
Moyenne : opération MOYENNE
Ecart-type et variance : opérations STDEV et VAR
LE RÉSULTAT DE L'OPÉRATION EST TOUJOURS SOUS LA FORME D'UNE TABLE
REQUÊTE : AGRÉGATION PAR SOUS-GROUPES
CALCUL SUR DES SOUS-ENSEMBLES DE LIGNES
l PRINCIPE D'UN REGROUPEMENT
Regroupement selon les différentes valeurs d'un champ, des données extraites de la base par la requête, avant calcul Opération particulière : REGROUPEMENT
l EXEMPLES
Comptage des produits par type
Nombre de de lots et taille globale par date
CHAQUE COLONNE DE LA REQUÊTE DOIT CONTENIR UNE OPÉRATION
REQUÊTE : EXPRESSIONS DE CALCUL
CALCULS PARTICULIERS SUR LES DONNÉES
l PRINCIPE DU CALCUL DANS UN CHAMP
Champ spécial (« calculé ») avec la double indication d'un nom et d'une expression de calcul
Notation particulière dans la ligne du CHAMP :
1) nom de nouveau champ, terminé par deux-points (« : ») 2) calcul sous la forme d'une expression , avec :
- noms de champ indiqués entre crochets (« [ ] »)
- calculs arithmétiques (+ - * /)
l EXEMPLE DE CALCUL
Retraits effectués sur chaque lot :
retraits: [taille_initiale]-[taille_reste]
REQUÊTE : RÉCAPITULATIF
PRINCIPALES CARACTÉRISTIQUES D'UNE REQUÊTE SIMPLE
avec la possibilité d'effacer, de couper ou de déplacer
via le menu contextuel (clic-droit sur le bord supérieur), ou d'insérer une colonne via la touche INSER
EXERCICES SUR LES REQUÊTES SIMPLES
Dans la base de la coopérative, créer les requêtes 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 classés par type
4. Les 3 dernières ventes
5. Les lots livrés dans la période des 7 derniers jours
6. Les ventes effectuées à un prix entre 2 et 5 euros, classées par date
7. Le nombre de personnes enregistrées habitant à Paris
8. Pour chaque produit, le total du stock et le nombre de lots correspondant
RELATIONS ET JOINTURES
Relations entre tables
Intégrité relationnelle
Jointure
RELATIONS ENTRE LES TABLES
l MISE EN PLACE DES TABLES
Ajouts successifs de toutes les tables de la base, à l'aide de la boîte AFFICHER LA TABLE (sélection de table puis bouton AJOUTER), avec possibilité de réarrangement en faisant glisser le titre de table
RELATIONS ENTRE LES TABLES (SUITE)
l INDICATION D'UNE RELATION ENTRE DEUX TABLES
Sélectionner et faire glisser le champ d'une clef étrangère vers la table contenant la clef primaire associée
Exemple : ref_produit de lot vers la table produit
Cocher ensuite APPLIQUER L'INTÉGRITÉ RÉFÉRENTIELLE et valider
Notification de la relation par un trait reliant les champs des 2 clefs
RELATION ET CLEF ÉTRANGÈRE
UNE RELATION DANS ACCESS CORRESPOND À UNE CLEF ÉTRANGÈRE
l EXEMPLE D'ASSOCIATION
Association « composer » : « un produit compose 0 ou N lots » et
« un lot est composé d’un produit unique »
l RELATION DANS ACCESS
Notée avec un lien de cardinalités 1 et (pour 1 produit : plusieurs lots)
Propriétés de la relation entre produit et lot visible via double-clic sur le lien
CONTRAINTE D’INTÉGRITÉ RÉFÉRENTIELLE
MÉCANISME DE GARANTIE DE LA COHÉRENCE DES DONNÉES
l PROPRIÉTÉ D’UNE RELATION DANS ACCESS
Toute valeur d'une clef étrangère doit exister comme valeur de clef primaire de la table en référence (cf. page 22), et les types de données des clefs primaire et étrangère doivent correspondre (cf. page 41) Exemple : toute référence à un produit dans la table lot doit correspondre à un produit existant dans la table produit
l MISE EN APPLICATION PAR DES CONTRÔLES AUTOMATIQUES
Exemple : refus de l’ajout d’un lot pour un produit inexistant
L’INTÉGRITÉ RÉFÉRENTIELLE EST UN MÉCANISME UTILE
CONTRÔLES D’INTÉGRITÉ RÉFÉRENTIELLE
Ajout refusé d'un enregistrement dans une table s'il ne fait pas référence à un enregistrement existant dans la table liée
Réglage : APPLIQUER L'INTÉGRITÉ RÉFÉRENTIELLE
Exemple : refus d’un ajout dans la table lot avec un producteur inexistant dans la table personne
l LORS DE LA SUPPRESSION D'UN ENREGISTREMENT
Suppression refusée a priori d'un enregistrement dans une table s'il existe au-moins un enregistrement y faisant référence dans la table liée
Réglage : APPLIQUER L'INTÉGRITÉ RÉFÉRENTIELLE
Exemple : refus d’une suppression dans la table produit quand il existe des ventes correspondantes dans la table vente
Cependant possibilité d'autoriser l'opération avec alors la suppression en cascade de tous les enregistrements liés réglage : EFFACER EN CASCADE LES ENREGISTREMENTS CORRESPONDANTS exemple : suppression simultanée des ventes dans la table vente
correspondant au produit supprimé (et de même pour ses lots etc.)
l LORS DE LA MODIFICATION D'UN ENREGISTREMENT
Modification refusée a priori de la clef d'un enregistrement d'une table s'il existe au-moins un enregistrement y faisant référence dans la table liée
Réglage : APPLIQUER L'INTÉGRITÉ RÉFÉRENTIELLE
Exemple : refus du changement de num_personne dans la table personne quand il existe des lots correspondants dans la table lot
Cependant possibilité d'autoriser l'opération avec alors la modification en cascade de toutes les clefs étrangères dans les enregistrements liés réglage : METTRE À JOUR EN CASCADE LES CHAMPS CORRESPONDANTS exemple : mise à jour simultanée du numéro de producteur dans les enregistrements de la table lot correspondant à la personne dont le numéro d'identification est modifié (et de même pour ses ventes etc.)
OPÉRATION DE JOINTURE
l EXEMPLE
Liste des numéros de lots avec date de vente et nom du vendeur
lot |
||||||
num_lot |
ref_produit |
ref_producteur |
taille_initiale |
taille_reste |
prix_achat |
date_achat |
1 |
1 |
1 |
450 |
0,70 |
2005-12-29 |
|
2 |
3 |
2 |
100 |
3,00 |
2005-12-29 |
|
3 |
1 |
2 |
300 |
110 |
0,60 |
2005-12-30 |
+
personne |
|||||
num_personne |
nom |
adresse |
code_postal |
ville |
telephone |
1 |
DE LA RUE |
9, rue Convention |
93100 |
MONTREUIL |
01.48.70.60.00 |
2 |
KING KING |
1, place d'Italie |
75013 |
PARIS |
01.44.08.13.13 |
3 |
LILI |
3, rue Résistance |
95200 |
SARCELLES |
01.34.38.20.00 |
ê
num_lot de lot |
date_achat de lot |
nom de personne |
1 |
2005-12-29 |
DE LA RUE |
2 |
2005-12-29 |
KING KING |
3 |
2005-12-30 |
KING KING |
l JOINTURE DE TABLE ajouts de colonnes issues d'une autre table pour une même donnée
LA JOINTURE PERMET D'ENRICHIR LES DONNÉES D'UNE TABLE
JOINTURE AVEC ACCESS
Jointure sur 3 tables : lot, personne et produit
1) ajout des tables dans la requête (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 : préfixage automatique du nom de champ par le nom de sa table dans le cas où ce nom apparaît dans une autre table, afin d'éviter une ambiguïté exemple : et
EXERCICES SUR LES JOINTURES
Dans le cadre du système d'information de la coopérative :
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 triée des noms de fruits pour lesquels il y a des lots épuisés ?
5. Quels sont les prix moyens d’achat et de vente des choux ?
6. Peut-on connaître les acheteurs des légumes fournis par King King ?
FORMULAIRES
Création rapide
Création assistée
Retouches : liste déroulante, boutons de commande
Cas de clef étrangère dans un formulaire
FORMULAIRE : CRÉATION INSTANTANÉE
EXEMPLE DE CONSTRUCTION RAPIDE D'UN FORMULAIRE DE SAISIE DU PRODUIT
À PARTIR D'UN FORMULAIRE CRÉÉ AUTOMATIQUEMENT PAR ACCESS
l DÉMARRAGE DE LA CRÉATION DU FORMULAIRE
Sélectionner d'abord la table des données (ici produit) puis dans l'onglet CRÉER cliquer sur le bouton FORMULAIRE
ê
FORMULAIRE : CRÉATION ASSISTÉE
CONSTRUCTION ALTERNATIVE, PAS À PAS À L'AIDE D'UN ASSISTANT
l DÉMARRAGE DE LA CRÉATION ASSISTÉE DU FORMULAIRE
Bouton dans l'onglet CRÉER
l DÉFINITION DES CARACTÉRISTIQUES DU FORMULAIRE
FORMULAIRE : MODES D'AFFICHAGE
Visualisation en « mode formulaire »
l MODIFICATION DU FORMULAIRE
Passage en « mode création » via l'onglet ACCUEIL, bouton AFFICHAGE
Alternatives : clic-droit sur l'intitulé du formulaire ou barre en bas à droite
ê
FORMULAIRE : ENREGISTREMENT
l PROPRIÉTÉS DU FORMULAIRE
Sélection du formulaire en entier par clic sur le carré à l'origine des règles puis dans l'onglet CRÉATION, bouton FEUILLE DE PROPRIÉTÉS
Fixation du titre de la boîte de saisie à la propriété LÉGENDE
La propriété SOURCE indique la table où sont enregistrées les données, ici c'est la table produit
l ENREGISTREMENT DU FORMULAIRE
Boutonen haut à droite ou alors fermer la boîte du formulaire
(bouton X à droite de l'intitulé), puis attribuer un nom au formulaire
FORMULAIRE : RETOUCHES
l DISPOSITION GÉNÉRALE
Disposition figée (tabulaire/empilé) après création instantanée ou assistée ; pour libérer les éléments : clic-droit, DISPOSITION, SUPPRIMER LA DISPOSITION
l DÉPLACEMENT D'UN ÉLÉMENT
Sélectionner puis faire glisser le gros carré en haut à gauche (flèche quadruple)
l REDIMENSIONNEMENT D'UN ÉLÉMENT
Sélectionner puis faire glisser un bord ou un coin via le carré noir correspondant (flèche double)
l CHAMP DE DONNÉE
Pour supprimer l'élément d’un champ de donnée
(exemple : telephone), sélection puis touche SUPPR Pour (ré)insérer un champ de donnée : a) demander la liste des champs via le bouton AJOUTER DES CHAMPS EXISTANTS dans l'onglet CRÉATION
b) sélectionner un champ dans la liste, puis le faire glisser pour le déposer à l'endroit voulu sur l'état : insertion du libellé avec
la zone de la valeur
l AJOUT D'ÉLÉMENT COMPLÉMENTAIRE
Groupe CONTRÔLE dans l'onglet CRÉATION Principaux éléments complémentaires (ou « contrôles ») :
- libellé (texte) :
- image (fichier) :
- trait ou rectangle : ou
FORMULAIRE : TRANSFORMATION D'UNE ZONE
l ZONE DE SAISIE DU TYPE DE PRODUIT
transformation en liste déroulante par clic-droit dans la zone
puis la commande REMPLACER PAR et ZONE DE LISTE DÉROULANTE
FORMULAIRE : AJOUT DE BOUTON DE COMMANDE
l BOÎTE À OUTILS
Palette des différents éléments composant un formulaire : dans l'onglet CRÉATION, le groupe CONTRÔLES
l BOUTON DE SAUVEGARDE DE L'ENREGISTREMENT
Cliquer sur le bouton dans la boîte à outils puis cliquer à l'endroit voulu dans le formulaire et faire-glisser pour fixer sa taille puis relâcher
ê
Choisir OPÉRATIONS SUR ENREG. puis SAUVEGARDER UN ENREGISTREMENT et passer à l'étape suivante avec le bouton SUIVANT
Choisir une image puis achever l'opération avec le bouton TERMINER
Procéder de même pour le bouton de fermeture, en choisissant OPÉRATION SUR FORMULAIRE puis FERMER UN FORMULAIRE
FORMULAIRE : CAS DE CLEF ÉTRANGÈRE
EXEMPLE AVEC LES RÉFÉRENCES DE PRODUIT ET DE PERSONNE DANS UN LOT
produit et producteur : enregistrement du numéro et non pas du nom
CERTAINES DONNÉES NE SONT PAS SAISIES PAR L'UTILISATEUR MAIS
DÉPENDENT D'UN DE SES CHOIX ET PROVIENNENT ALORS D'UNE TABLE
FORMULAIRE : CAS DE CLEF ÉTRANGÈRE (SUITE)
ADAPTATION DU FORMULAIRE CRÉÉ AUTOMATIQUEMENT
ETAPE PRÉLIMINAIRE :TRANSFORMATION DE ZONES EN LISTE MODIFIABLE
(ZONES DE CHOIX DU PRODUIT ET DU PRODUCTEUR)
l PROVENANCE ET DESTINATION DES DONNÉES
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 numéro
correspondant pour enregistrement comme clef secondaire
b) Table des lots enregistrement de toutes les informations sur un lot
l PRINCIPE DE RÉALISATION POUR UNE LISTE DES NOMS
1) Utilisation d'une requête pour construire la liste, avec le nom (pour affichage) et le numéro associé (pour enregistrement)
requête pour les noms de personne Req_liste_nom_num_personne
avec le nom en colonne n° 1 et le numéro en n° 2
2) Transformation de la zone du formulaire en liste déroulante avec un double paramètrage pour l'affichage et l'enregistrement :
a) liste des données issue d’une requête, avec affichage de noms
b) numéro associé enregistré après choix d'un nom par l'utilisateur
Exemple de la zone de liste du producteur : affichage de la liste des noms mais enregistrement du numéro associé au nom choisi
MÉCANISME SUBTIL :REQUÊTE ET PARAMÈTRAGE DE LA ZONE DE LISTE ê
FORMULAIRE : CAS DE CLEF ÉTRANGÈRE (FIN)
CAS DE LA ZONE DU PRODUCTEUR DANS LE FORMULAIRE D’UN LOT (FORMULAIRE CRÉÉ AU PRÉALABLE AVEC LA ZONE DE LISTE DÉROULANTE)
l PARAMÈTRAGE DE LA ZONE DE LISTE DÉROULANTE
Via les propriétés du champ du formulaire :
sélection du champ puis FEUILLE DE PROPRIÉTÉS dans l'onglet CRÉATION ou clic-droit dans le champ puis PROPRIÉTÉS au menu
- SOURCE CONTRÔLE : champ de la table où s'enregistre la donnée, ici c'est le champ ref_producteur
- CONTENU : choix de la requête, ici liste_nom_num_personne
- ORIGINE SOURCE : TABLE/REQUÊTE
- COLONNE LIÉE : colonne dans les résultats de la requête qui contient
la valeur à enregistrer, ici la 2e correspondant au numéro
Propriétés dans l’onglet FORMAT
- NBRE COLONNES : nombre de données d'un résultat de la requête à afficher dans la zone du formulaire, ici 1 seule, c'est-à-dire
la première correspondant au nom
PROCÉDURE SIMILAIRE POUR LE PRODUCTEUR
FORMULAIRE : CAS DE SOUS-FORMULAIRE
EXEMPLE AVEC LES RÉFÉRENCES DE PRODUITS EMBALLÉS POUR UN EMBALLAGE
Cas de table où chacun de ses enregistrements peut être en relation avec plusieurs enregistrements d'une autre table
Sous-formulaire associé à la table emballer créé automatiquement ici dans le formulaire de la table emballage
Le sous-formulaire est un contrôle dans le formulaire qui peut être retiré
(sélection puis touche SUPPR) ou ajouté manuellement via le bouton du groupe des contrôles dans l'onglet CRÉATION (au préalable activer UTILISER LES ASSISTANTS CONTRÔLE pour profiter d'un assistant de mise en place)
EXERCICES SUR LES FORMULAIRES
Dans le cadre du système d'information de la coopérative :
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 définissant au préalable une requête afin d'obtenir les données nécessaires à chaque cas.
3. A quoi correspond la propriété SOURCE pour un formulaire ? et SOURCE CONTRÔLE pour une zone de saisie ?
4. Quelles sont les propriétés d'une zone de liste modifiable utiles pour y associer en données les résultats d'une requête ?
ETATS
Création rapide d'un état
Personnalisation d'un état
ETAT : CRÉATION INSTANTANÉE
CONSTRUCTION RAPIDE D'UN ÉTAT POUR LA LISTE DES PERSONNES
l CRÉATION RAPIDE DE L'ÉTAT
1) Sélection de l'origine des données, ici la table personne
2) Onglet CRÉER, bouton ETAT
UN ÉTAT REPOSE SUR DES DONNÉES ISSUES D'UNE TABLE OU D'UNE REQUÊTE
ETAT : CRÉATION ASSISTÉE
CONSTRUCTION ALTERNATIVE, PAS À PAS À L'AIDE D'UN ASSISTANT
l DÉMARRAGE DE LA CRÉATION ASSISTÉE DE L'ÉTAT
Bouton dans l'onglet CRÉER
l DÉFINITION DES CARACTÉRISTIQUES DE L'ÉTAT
A la question QUELS CHAMPS SOUHAITEZ-VOUS DANS VOTRE ETAT ? Vérifier la table ou la requête considérée
Sélectionner a priori toutes les données à l'aide du bouton >> Passer à l'étape suivante
ê
A la question SOUHAITEZ-VOUS
AJOUTER UN NIVEAU DE REGROUPEMENT ?
Indiquer si besoin un champ de regroupement
Passer à l'étape suivante
ê
A la question QUEL ORDRE DE
TRI SOUHAITEZ-VOUS POUR VOS ENREGISTREMENTS ?
Indiquer si besoin un critère de tri sur un champ
Passer à l'étape suivante
ê
ETAT : CRÉATION ASSISTÉE (SUITE)
A la question COMMENT
SOUHAITEZ-VOUS PRÉSENTER VOTRE ÉTAT ?
Indiquer a priori une présentation tabulaire et une orientation en paysage puis passer à l'étape suivante
ê
A la question QUEL TITRE
SOUHAITEZ-VOUS POUR VOTRE ÉTAT
?
Fixer le titre et finir en demandant l'aperçu de l'état
ê
ETAT : RETOUCHES
PERSONNALISATION DU CONTENU D'UN ÉTAT
l MODIFICATION DE L'ÉTAT
Passage en mode création via ACCUEIL, AFFICHAGE ou clic-droit sur son titre
La mise en page d'un état se décompose en plusieurs zones :
- en-tête et pied d'état : textes placés respectivement au début et à la fin du document
- en-tête et pied de page : textes placés respectivement au haut et en bas de chaque page du document
- détail : partie principale du document, répétée pour chaque enregistrement de la table de données associée à l'état
l RETOUCHE D'UN LIBELLÉ
Sélectionner l'élément du formulaire au libellé par un clic dessus (apparition de carrés sur les bords du cadre)
Mise en forme possible quand sélectionné via la barre d'outils spécialisée du groupe POLICE dans
l'onglet FORMAT
Cliquer à l'intérieur pour modifier son texte et terminer par la touche ENTRÉE
l MISE EN FORME D'UNE ZONE DE L'ÉTAT
Clic-droit sur l'entête de la zone puis PROPRIÉTÉS
ETAT : RETOUCHES (SUITE)
l CHAMP DE DONNÉE
Supprimer l'élément d’un champ de donnée (exemple : telephone) : sélection puis touche SUPPR
Changer le format de la donnée (exemple : un montant en euro) : clic-droit, PROPRIÉTÉS, FORMAT, FORMAT Insérer un champ dans l’état :
a) demander la liste des champs via le
bouton AJOUTER DES CHAMPS EXISTANTS dans l'onglet CRÉATION
b) sélectionner un champ dans la liste, puis le faire glisser pour le déposer à l'endroit voulu sur l'état : insertion du libellé 1 avec
la zone de la valeur
l AJOUTS D'ÉLÉMENT COMPLÉMENTAIRE
Groupe CONTRÔLE dans l'onglet CRÉATION
Principaux éléments complémentaires (ou « contrôles ») :
l REDIMENSIONNEMENT D'UN ÉLÉMENT
Sélectionner puis faire glisser un bord ou un coin via le carré noir correspondant (flèche double)
l DÉPLACEMENT D'UN ÉLÉMENT
Sélectionner puis faire glisser le gros carré 2 en haut à gauche (flèche quadruple)
1 Pour piloter la position du libellé, clic-droit puis DISPOSITION ; exemple : TABULAIRE à entête de page
2 Si ce carré est invisible, il y a un effet de disposition actif qui empêche le déplacement ; cet effet s'efface par clic-droit puis DISPOSITION SUPPRIMER
ETAT : REGROUPEMENT
REGROUPEMENT SELON UN CHAMP AU SEIN DE L'ÉTAT
l EXEMPLE
Lots avec regroupement par légume et ensuite tri par producteur
l ETAT AVEC REGROUPEMENT
1) Création automatique de l'état à partir d'une requête à jointure
2) Bouton REGROUPER ET TRIER de l'onglet CRÉATION, puis en dessous de l'état, bouton AJOUTER UN GROUPE pour définir le champ de regroupement (ici le nom de produit)
3) Déplacement du champ de regroupement (ici le nom de produit) dans l'en-tête de groupe par couper-coller (via le clic-droit), avec annulation préalable de sa disposition si besoin
4) Bouton AJOUTER UN TRI pour le tri sur la date de la vente
REGROUPEMENT PLUS FACILE VIA L'ASSISTANT DE CRÉATION
ETAT : EXPRESSIONS
CALCULS SUR LES DONNÉES OU VALEURS PARTICULIÈRES
l NOTATION D'UNE EXPRESSION
Introduction au sein d'une zone de texte () dans l'état Syntaxe des expressions :
- début de l'expression marqué par le symbole égal (=)
- texte littéral noté entre guillemets (")
- collage de textes avec le symbole &
- notation d'un champ de donnée par son nom entre crochets ([ ]) avec la possibilité de calculer le total dans le cas de regroupement avec la fonction Somme()
- calculs arithmétiques (+ - * /)
- paramètres particuliers comme [Page] et [Pages] pour désigner respectivement le numéro 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 générateur d'expression : sélection de l'élément puis AFFICHAGE PROPRIÉTÉS puis dans l'onglet DONNÉES sélection du paramètre SOURCE CONTRÔLE et clic sur
l 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-tête de groupe de l'état
=Somme([taille_restante])
350 € |
affichera (total de 350) :
EXERCICES SUR LES ÉTATS
Dans le cadre du système d'information de la coopérative :
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.
EXEMPLE D'APPLICATION DANS ACCESS
Formulaire général
Macro
FORMULAIRE GÉNÉRAL
MANIPULATIONS GÉNÉRALES DU SYSTÈME D'INFORMATION
l PLUSIEURS TYPES D'ÉLÉMENTS
1) Boutons pour l'affichage d'un état
association avec les états déjà construits
2) Boutons pour l'ajout d'un enregistrement
association avec les formulaire de saisie déjà construits mais avec positionnement sur un nouvel enregistrement
3) Liste déroulante pour sélectionner un enregistrement, avec le bouton de commande associé pour la mise à jour de l'enregistrement choisi
zone de liste déroulante à construire à l'aide de requête existante et association avec le formulaire de saisie déjà construit mais pour l'enregistrement sélectionné
CRÉATION DU FORMULAIRE GÉNÉRAL
CAS DE FORMULAIRE SANS DONNÉES ASSOCIÉES
1) Dans l'onglet CRÉER, bouton CRÉATION DE FORMULAIRE
2) Dans la fenêtre de création apparue, redimensionner rapidement la zone blanche 1 délimitant le formulaire en tirant dans un coin
4) Vérifier la présence de la boîte à outils du groupe CONTRÔLES dans l'onglet
CRÉATION de OUTILS DE CRÉATION DE FORMULAIRE
1 Si le quadrillage n'apparaît pas dans la zone, clic-droit dans son fond puis GRILLE
BOUTON ASSOCIÉ À UN ÉTAT
L'ÉTAT DOIT ÊTRE DÉFINI AU PRÉALABLE
l CRÉATION DU BOUTON DE COMMANDE
cliquer sur le bouton dans la boîte à outils puis cliquer à
l'endroit voulu et faire-glisser pour fixer sa taille
l DÉFINITION DU RÔLE DU BOUTON
choisir d'abord OPÉRATIONS SUR ÉTAT et APERÇU D'UN ÉTAT
NE PAS OUBLIER DE VÉRIFIER LE BON FONCTIONNEMENT DU BOUTON
EN PASSANT EN MODE D'EXÉCUTION VIA AFFICHAGE MODE FORMULAIRE
MACRO ASSOCIÉE À UN AJOUT
BESOIN D'UTILISER UN COMPOSANT SPÉCIAL : UNE MACRO
l RÔLE DE LA MACRO
Petit programme pour provoquer ici l'ouverture du formulaire de saisie en ajout d'un nouvel enregistrement
l CRÉATION DE LA MACRO
Dans l'onglet CRÉER, bouton MACRO
Ensuite choisir l'action OUVRIRFORMULAIRE avec les propriétés :
NOM FORMULAIRE : celui du formulaire associé à un produit
Terminer en fermant la boîte et en enregistrant la macro avec un intitulé explicite
BOUTON ASSOCIÉ À UN AJOUT
LA MACRO D'AJOUT DOIT ÊTRE DÉFINIE AU PRÉALABLE
l DÉFINITION DU RÔLE DU BOUTON DE COMMANDE
créer le bouton, choisir la catégorie DIVERS et EXÉCUTER UNE MACRO
NE PAS OUBLIER DE VÉRIFIER LE BON FONCTIONNEMENT DU BOUTON
EN PASSANT EN MODE D'EXÉCUTION VIA AFFICHAGE MODE FORMULAIRE
ZONE DE LISTE DÉROULANTE
DONNÉES DE LA LISTE ISSUES D'UNE TABLE OU
D'UNE REQUÊTE DÉFINIE AU PRÉALABLE
l CRÉATION DE LA ZONE DE LISTE
Choisir dans la boîte à outils des contrôles le bouton
a) valider l'option JE VEUX QUE LA LISTE
MODIFIABLE RECHERCHE
LES VALEURS DANS UNE TABLE OU REQUÊTE
b) indiquer la requête (ou la table) qui fournira les données de la liste
c) indiquer les champs
des données à placer
dans la liste déroulante
ZONE DE LISTE DÉROULANTE (SUITE)
en mode création :
et en fonctionnement :
MODIFICATION APRÈS CHOIX DANS UNE ZONE
CAS DE LA MODIFICATION DE L'ENREGISTREMENT
CHOISI AU PRÉALABLE DANS LA LISTE DÉROULANTE
1) ATTRIBUTION D'UN NOM À LA ZONE DE LISTE Sélection de la zone de liste puis
AFFICHAGE PROPRIÉTÉS et dans l'onglet AUTRES, fixer le nom à la propriété
NOM
2) CRÉATION D'UNE MACRO SPÉCIFIQUE
Action OUVRIRFORMULAIRE avec indication du formulaire en question, avec MODE DONNÉES à MODIFICATION, et l'indication de l'enregistrement choisi à CONDITION WHERE par l'expression suivante :
[produit]![num_produit]=[Formulaires]![Formulaire_general]![choix_numero_produit]
Bouton auquel est associé la macro créée précédemment
DÉCORATION DU FORMULAIRE
l MISE EN FORME COMPLÉMENTAIRE
une zone de texte placée par dessus
APPLICATION CLEFS-EN-MAIN
l ACTIVATION AUTOMATIQUE AU DÉMARRAGE
Soit via la création d’une macro avec le nom précis AUTOEXEC, et composée des actions OUVRIRFORMULAIRE suivie de AGRANDIR
Soit via FICHIER, OPTIONS, BASE DE DONNÉES ACTIVE avec les réglages
TITRE DE L'APPLICATION : titre de la fenêtre d'Access
AFFICHER LE FORMULAIRE : formulaire ouvert initialement
AFFICHER LE VOLET DE NAVIGATION : désactivation optionnelle
RÉSUMÉ GÉNÉRAL
RÉALISATION D’UNE BASE DE DONNÉE AVEC ACCESS
UNE ÉTAPE PRÉLIMINAIRE : LA MODÉLISATION examen approfondi des données du système d’information conception d’un modèle avec les entités, attributs et associations
UNE CONSTRUCTION PROGRESSIVE : LA BASE DE DONNÉES mise en place des tables de la base définition des relations entre les tables écriture des requêtes de manipulation des données réalisation des formulaires et des états programmation complémentaire de macros
COMPLÉMENTS
Transferts entre Access et Excel
TRANSFERTS ENTRE ACCESS ET EXCEL
TRANSFERTS DE DONNÉES ENTRE UNE BASE ET UNE FEUILLE DE CALCUL
Cas n° 1 : Transferts par exportation ou importation
Données dans un fichier au format d'Excel (XLS)
Cas n° 2 : interrogation d'une base dans Excel
Données extraites directement à partir de la base
TRANSFERTS PAR EXPORTATION
TRANSFERTS DE DONNÉES D'UNE TABLE VERS UNE FEUILLE DE CALCUL l EXPORTATION DE DONNÉES VERS UNE FEUILLE DE CALCUL
Création d'un classeur Excel à partir des données d'une table, avec une feuille de calcul unique
Sélectionner une table dans le panneau gauche de navigation, puis clic-droit et la commande EXPORTER EXCEL, ou dans l'onglet DONNÉES EXTERNES, groupe EXPORTER, bouton EXCEL
Régler TYPE DE FICHIER au bon format, exemple : CLASSEUR EXCEL (*.XLSX) et cocher EXPORTER LES DONNÉES AVEC LA MISE EN FORME
(largeurs de colonne ajustées et types de données conservés) A l'étape suivante, ne pas cocher a priori ENREGISTRER LES ÉTAPES
Les noms de champs sont automatiquement repris en 1ère ligne
Nom de la feuille créée identique à celui de la table exportée
CRÉATION D'UNE FEUILLE DE CALCUL SIMILAIRE À LA TABLE EXPORTÉE
TRANSFERTS PAR IMPORTATION
TRANSFERTS DE DONNÉES D'UNE FEUILLE DE CALCUL VERS UNE TABLE
Attention ! le classeur et la table ne doivent pas être ouverts
l IMPORTATION DE DONNÉES À PARTIR D'UNE FEUILLE DE CALCUL
Cas d'ajout des données 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 NUMÉROAUTO), laisser les cellules correspondantes vides dans la feuille de calcul Exemple de feuille de calcul correspondant à des personnes :
Dans l'onglet DONNÉES EXTERNES, groupe IMPORTER, bouton EXCEL
choisir le fichier des données, cocher AJOUTER UNE COPIE en sélectionnant la table de destination, puis passer à l'étape suivante
ê
ATTENTIONÀ LA CORRESPONDANCE DES CHAMPS ENTRE FEUILLE ET TABLE !
TRANSFERTS PAR IMPORTATION (SUITE)
Si le classeur contient plusieurs feuilles de calculs indiquer alors la feuille contenant les données à importer
Vérifier la bonne correspondance des colonnes avec les champs de la table
Confirmer finalement l'importation dans la table
INTERROGATION D'UNE BASE DANS EXCEL
RÉCUPÉRATION DIRECTE DE DONNÉES DANS UNE FEUILLE DE CALCUL
l PRINCIPE DE L'INTERROGATION
Récupération directe de données (table, requêtes) issues d'une base 1 dans une feuille de calcul d'Excel
Possibilité de création d'une requête dans Excel via l'utilisation du composant Query de Microsoft Office
l PROCÉDURE
1) COMMANDE DONNÉES, DONNÉES EXTERNES, AUTRES SOURCES, PROVENANCE MICROSOFT QUERY
2) CHOISIR UNE SOURCE DE DONNÉES
Source de données : fichier de la base de données Access
Veiller à cocher UTILISER L'ASSISTANT REQUÊTE avant de valider (OK)
Désigner ensuite le fichier contenant la base (exemple : )
1 Présentation ici du cas où le fichier de la base est accessible sur le poste de travail ; il existe aussi la possibilité d'utiliser le mécanisme du pilote ODBC dans le cas d'une base installée sur un serveur.
INTERROGATION D'UNE BASE DANS EXCEL (SUITE)
3) CHOISIR AU-MOINS UNE COLONNE DANS UNE TABLE
Sélectionner une table puis cliquer sur > pour obtenir tous ses colonnes Valider via le bouton SUIVANT
ê
INTERROGATION D'UNE BASE DANS EXCEL (SUITE)
6) DERNIÈRE ÉTAPE DE L'ASSISTANT
Choisir AFFICHER LES DONNÉES DANS MICROSOFT QUERY
7) FORMULAIRE DE MODIFICATION DE LA REQUÊTE
Pour faire apparaître la zone des critères : AFFICHAGE, CRITÈRES
Possibilités à ce stade de retoucher les caractéristiques de la requête et de l'enregistrer (FICHIER, ENREGISTRER) pour une réutilisation ultérieure
ê
INTERROGATION D'UNE BASE DANS EXCEL (FIN)
8) INSERTION DES DONNÉES DANS LA FEUILLE DE CALCUL
Soit la commande FICHIER RENVOYER LES DONNÉES VERS EXCEL, soit le 4ème bouton du formulaire :
Indiquer où insérer les données dans la feuille
Possibilité d'insertion rapide des données d'une table ou d'une requête prédéfinie dans Access, via
DONNÉES, DONNÉES EXTERNES, ACCESS
INDEX
-, 48, 49
", 48, 86
#, 48
, 60
&, 86
(), 49
*, 48, 49
/, 48, 49
:, 48
?, 48
[ ], 48, 49, 86
[Page], 86
[Pages], 86
+, 49
<, 48
<=, 48 <>, 48
=, 48, 86
>, 48
>=, 48
1 à plusieurs, 18
Actif/Inactif, 36 Afficher le contrôle, 37
agrégation, 52 analyse des besoins, 28 Appliquer l'intégrité référentielle, 62
association, 16, 22, 28, 58 attribut, 10, 28
attributs, 8 autoexec, 98 Base de données active, 98
boîte à outils, 73, 90
bouton de commande, 73 ajout, 93
état, 91
cardinalité, 14, 17, 22, 28 Chaîne vide autorisée, 36, 40 champ, 12 choix binaire, 36
DATE, 38
MONÉTAIRE, 38
nom, 34 NUMÉRIQUE, 90
TEXTE, 36, 90 champ calculé, 54 champ, préfixage, 64
Classement, 51
clef, 12, 26, 34, 43 clef étrangère, 22, 26, 39,
59, 61 clef primaire, 22, 26, 34, 39,
59, 61 cohérence, 61, 62 Colonne liée, 76
comme, 48
Comptage, 52
Compte, 52
Condition Where, 96
Contenu, 37, 76 contrainte, 28 contrainte de clef, 26 contrainte de domaine, 26 contrainte d'intégrité
référentielle, 26
Créer, 50 Critères alternatifs, 49 date courante, 86 Date(), 49, 86
Date/Heure, 41
dates, 49
décimal, 39, 41
dépendance fonctionnelle, 25
domaine, 12, 26
doublons, 51
e, 48
Ecart-type, 52
Echelle, 39 Effacer en cascade, 62
enregistrement, 12 entier, 39, 41 entier long, 39, 41
Entier long, 39
entité, 9, 10, 28 entités, 8 entre, 48 et, 49 état
création assistée, 81 création instantanée, 80 détail, 83 pied, 83
état, champ de donnée, 84 état, déplacement, 84
état, en-tête, 83
état, image, 84
état, libellé, 84
état, rectangle, 84
état, redimensionnement, 84
état, trait, 84
Excel, données externes,
105
Excel, feuille de calcul, 101,
105 exportation, 102
expression, 86 faux, 48 fonction, 49 format, 8 formulaire, 67 propriétés, 70
Formulaire, 90
création assistée, 68
Formulaire, champ de donnée, 71
Formulaire, déplacement, 71
Formulaire, disposition, 71
Formulaire, image, 71
Formulaire, libellé, 71
Formulaire, rectangle, 71 Formulaire, redimensionnement, 71 Formulaire, trait, 71 générateur d'expression, 50,
96 heure courante, 86
heures, 49
identificateur, 9, 10, 22, 28
importation, 103
in, 48 incohérence, 26 index, 12 infini, 60
insertion, 42
intégrité référentielle, 28, 59,
61, 62 jointure, 63, 64
Légende, 70
Limitation, 51 Liste de choix, 37 liste déroulante, 75, 94
Liste valeurs, 37
macro
ajout, 92
Maintenant(), 86
Majuscule+F2, 50
Max, 52
Memo, 41
Mettre à jour en cascade, 62
Min, 52
mode création, 69, 83
Mode Formulaire, 69 modèle conceptuel, 29 modèle entité-relation, 8 modèle relationnel, 29 modification, 43
Monétaire, 41
Moyenne, 52
Nbre colonnes, 76
négation, 49
Nom, 96
non, 48
null, 40, 48
Null interdit, 40
Numérique, 39, 41
numéro automatique, 39 NuméroAuto, 34, 39, 41 n-uplet, 12 opération, 52 Origine source, 37, 76
ou, 49 oui, 48 Oui/Non, 36 OuvrirFormulaire, 98
pas, 49
plusieurs à plusieurs, 20, 21
Premières lignes, 51 Query, 105
recherche, 46 redondance, 25, 28 réel double, 39, 41 réel simple, 39, 41
regroupement, 53, 85, 86
requête, 46
Somme, 52
Somme(), 86
source, 70 Source contrôle, 76 sous-formulaire, 77
StDev, 52 suppression, 43 système d'information, 3 table, 12, 16, 22 Taille du champ, 36, 39
Temps(), 49, 86
Texte, 41
texte littéral, 86
Texte long, 36
Total, 52
Tri, 51 tuple, 12 types de donnée, 10
Utiliser les assistants
Contrôle, 77
valeur atomique, 8 valeur obligatoire, 28
Valeur par défaut, 36
Valeurs distinctes, 51 Var, 52 variance, 52
volet de navigation, 35
vrai, 48
Vrai/Faux, 36
Zone de liste, 37, 76
zone de liste modifiable, 72
Zoom, 50
SOMMAIRE
INTRODUCTION . 2
Introduction au système d'information . 3
Système d'information : réalisation 4
Système d'information : vue pratique .. 5
Exemples de manipulation . 6
PRINCIPES DES BASES DE DONNÉES .. 7
Modélisation des données . 8
Donnée du produit . 9
Modélisation d'une entité . 10
Donnée de la personne 11
Entités et base de données 12
Tables produit et personne . 13 Donnée de la vente . 14 Donnée de la vente (suite) .. 15
Association vente et base de données . 16
Donnée du lot 17
Donnée du lot (suite) . 18
Lot dans la base de données 19
Emballages de produit .. 20
Emballages de produit (suite) 21
Association et base de données .. 22
Modélisation de la coopérative . 23
Exercices d'extension du modèle 24
Redondance des données .. 25
Incohérence des données .. 26
Exercice sur la cohérence .. 27
Modélisation conceptuelle : récapitulatif .. 28
Passage à la base de données 29
Exercices sur la modélisation 30
CRÉATION D'UNE BASE DE DONNÉE AVEC ACCESS . 31
Microsoft Access .. 32
Création d'une base 33
Création d'une table : début et clef . 34
Création d'une table : fin et ré-édition 35
Champs : texte, choix binaire 36
Champs : liste de choix . 37
Champs : monétaire, date .. 38
Champs : numérique, clef étrangère . 39
Champs : valeurs obligatoire et par défaut . 40
Type de données dans Access . 41
Ajout de données . 42
Mise à jour de données 43
Exercices sur la création d'une base . 44
INTERROGATION D'UNE BASE DE DONNÉE .. 45
Recherche de données : requête 46
Recherche de données : requête (suite) . 47
Requête : critères simples .. 48
Requête : critères avancés . 49
Requête : assistance . 50
Requête : doublons, limitation, tri 51
Requête : agrégation de données .. 52
Requête : agrégation par sous-groupes .. 53
Requête : expressions de calcul .. 54
Requête : récapitulatif 55 Exercices sur les requêtes simples 56
RELATIONS ET JOINTURES 57
Relations entre les tables 58
Relations entre les tables (suite) . 59
Relation et clef étrangère . 60
Contrainte d’intégrité référentielle 61
Contrôles d’intégrité référentielle . 62
Opération de jointure . 63
Jointure avec Access . 64
Exercices sur les jointures .. 65
FORMULAIRES 66
Formulaire : création instantanée 67
Formulaire : création assistée 68
Formulaire : modes d'affichage 69
Formulaire : enregistrement 70
Formulaire : retouches .. 71
Formulaire : transformation d'une zone 72
Formulaire : ajout de bouton de commande .. 73
Formulaire : cas de clef étrangère .. 74
Formulaire : cas de clef étrangère (suite) 75
Formulaire : cas de clef étrangère (fin) . 76
Formulaire : cas de sous-formulaire .. 77
Exercices sur les formulaires . 78
ETATS .. 79
Etat : création instantanée .. 80
Etat : création assistée . 81
Etat : création assistée (suite) .. 82
Etat : retouches . 83
Etat : retouches (suite) .. 84
Etat : regroupement 85
Etat : expressions 86
Exercices sur les états .. 87
EXEMPLE D'APPLICATION DANS ACCESS . 88 Formulaire général . 89
Création du formulaire général . 90
Bouton associé à un état . 91
Macro associée à un ajout .. 92
Bouton associé à un ajout .. 93
Zone de liste déroulante .. 94
Zone de liste déroulante (suite) 95
Modification après choix dans une zone .. 96
Décoration du formulaire . 97
Application clefs-en-main . 98
Résumé général .. 99
COMPLÉMENTS .. 100
Transferts entre Access et Excel .. 101 Transferts par exportation . 102
Transferts par importation . 103
Transferts par importation (suite) .. 104
Interrogation d'une base dans Excel .. 105
Interrogation d'une base dans Excel (suite) 106
Interrogation d'une base dans Excel (suite) 107
Interrogation d'une base dans Excel (fin) . 108
Une donnée élémentaire ou « atomique», correspond à une valeur simple (nombre, texte, date, etc.) et non pas à une valeur multiple (liste, ensemble, etc.)
En anglais : entity-relationship model, traduit aussi par modèle « entité-relation »
La représentation est bien sûr simplifiée ici, dans le cadre de cette présentation.
Dans le modèle « entité-relation », l'« identifiant » identifie de manière unique une entité ; il correspond à un ou plusieurs attributs.
Une table est aussi appelée une « relation » (vocabulaire du modèle relationnel)
Un attribut s'appelle aussi un « champ » ; ici, un nom d'attribut dans la table est par précaution noté sans accents et en remplaçant tout espace par un trait de souligné (« _ ») afin d'éviter des anomalies dans les traitements informatiques
L'élément de la table ou « n-uplet » s'appelle aussi un enregistrement, et « tuple » en anglais.
Cet index permet de retrouver rapidement un enregistrement à partir de sa clef
Si l'identifiant de l'entité est composé de plusieurs attributs, chacun de ses attributs est alors indiqué comme définissant la clef.
La valeur d'une clef est toujours obligatoire ; on peut aussi indiquer la valeur par défaut en cas d'absence de la donnée lors de l'enregistrement.
N désigne ici un nombre non limité a priori, c'est-à-dire plusieurs fois.
En fait, il s'agit d'une cardinalité maximale de 1 ; ainsi, cela peut aussi être 0,1
Une clef étrangère est aussi appelée « clef externe » et une clef primaire « clef de relation »
Access absent de Office en version famille, étudiant et PME.
Dans le cas d'Access 97/2000/2003, l'extension est « .mdb » (Microsoft data base »)
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 début) et éventuellement le trait de souligné (« _ »).
Le type « NuméroAuto » correspond à la fixation automatique par Access de la valeur (entier long) du champ de la clef pour tout nouvel enregistrement, en séquence et sans reprise d'un numéro déjà utilisé.
Une clef primaire est généralement définie sur un champ unique (exemple : « num_produit ») mais peut dans certains cas s'appliquer à plusieurs champs identifiant conjointement de manière unique chaque enregistrement dans la table
Le type « Texte court » autorise une valeur jusqu'à 255 caractères au maximum ; au-delà, le type « Texte long » permet l'enregistrement d'un texte jusqu'à 64 000 caractères visibles (1 Go en fait).
[20] Ne pas confondre le mot anglais null avec « nul » qui correspond à une valeur particulière (exemple : zéro)
Pour faire réapparaître la liste des tables : onglet CRÉER et bouton AFFICHER LA TABLE
On peut bien sûr ne demander à afficher que certains champs et non l'ensemble de l'enregistrement
Après la saisie de valeur de texte, Access ajoute automatiquement les apostrophes (") autour
Access ne fait pas la différence entre les lettres minuscules et majuscules lors d'une recherche
Ajout automatique des guillemets autour d'un texte si pas d'ambiguïté
L'encadrement d'une date par des dièses (#) est facultatif si pas d'ambiguïté
En l'absence de notation d'une comparaison, c'est l'égalité qui est alors appliquée
[28] Pour utiliser un symbole générique comme véritable symbole à chercher (par exemple l'astérique), il faut le noter entre crochets ([ ]) ; exemple : [*]
Ordre lexicographique des symboles (selon l'alphabet informatique, chiffres avant lettres)
Liste des fonctions dans l'aide d'Access ou manipulable via le générateur d'expression (cf. page 43)
Raccourci au clavier pour obtenir le zoom : MAJUSCULE+F2
Attention à ne pas appliquer cette commande lorsqu'une cellule de champ est sélectionnée car on obtient alors les propriétés du champ et non pas celles de la requête.
Présentation simplifiée ici des possibilités du langage Visual basic pour Access ; possibilité d'utilisation d'un assistant dédié (clic-droit dans la zone du champ puis, au menu, CRÉER)
[34] Pour faire réapparaître la boîte, onglet CRÉER et bouton AFFICHER LA TABLE ou via clic-droit dans le fond
Le symbole « » désigne l’infini en mathématiques.
Si ce carré est invisible, il y a un effet de disposition actif qui empêche le déplacement ; cet effet s'efface par clic-droit puis DISPOSITION, SUPPRIMER LA DISPOSITION
Possibilité d'agrandir la zone du formulaire en faisant glisser le bord en limite du pied de formulaire.
Access prend automatiquement en compte le nombre de colonnes indiquées à partir de la première dans le résultat de la requête
La mise en forme s'applique toujours globalement au texte, et non pas à une partie seulement.
Pour piloter la position du libellé : clic-droit puis DISPOSITION, SUPPRIMER LA DISPOSITION
Version du langage Visual basic pour Access