Cours Access Patrice Buche
Cours Access Patrice Buche
Cours Access Patrice Buche
Patrice Buche
Département OMIP
INA Paris Grignon
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 1
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 2
1. Introduction
• Word permet de faire du traitement de texte et Excel des calculs dans des
tableaux de données.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 3
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 4
Système d'information, une définition
Système de pilotage
Système d’information
Entrées Sorties
Système de production
Information-
Informations sur le SO Décisions
interaction
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 5
1.2 Système d’information
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 6
Système d'information, un premier exemple
la gestion d'un haras
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 7
1.3 L’exemple de la gestion d’un haras
Le Haras des Cruchettes est une entreprise de services de petite taille, spécialisée
dans la gestion de carrières de monte d’étalons. Son activité consiste
principalement à récolter les étalons et à suivre les juments confiées au Haras
pour leur mise à la reproduction.
Le Haras gère une dizaine d’étalons et plus de 800 juments pendant chaque
saison (de fin février à début août). Le volume important de données manipulées
pour cette activité a justifié la mise en place d’un système d’information
automatisé (SAI).
Nous utiliserons des exemples issus de ce cas réel tout au long de la formation
pour illustrer les concepts informatiques qui seront présentés.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 8
Un système d'information,
pour quoi faire ?
Toute l'équipe utilise
et enrichit en même
temps cet ensemble
d'informations
Avoir très rapidement
et en permanence sur
son poste de travail
l'information la plus
récente
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 9
1.4 Utilité d’un système d’information automatisé
Partage et mise à jour de l’information par toute une équipe, voire plusieurs
services d’une même organisation. Ceci permet à chaque usager du système
d’accéder à l’information la plus récente.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 10
Un système d'information commun enrichi par
toute une équipe : la gestion d'un haras
La salle d'échographie
La secrétaire Le comptable
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 11
1.5 Un système d’information enrichi par toute une
équipe
Les juments sont suivies par échographie. Le résultat de chaque examen est
enregistré dans sa fiche de suivi informatisée. Après l’examen, on enregistre la
date de prochaine visite, voire d’insémination.
Les clients désirent souvent avoir des informations sur leur jument lorsqu’elle
est en pension au haras. La secrétaire leur répond en consultant la fiche de suivi
de la jument dans la base de données.
Le logiciel utilisé pour réaliser le SIA doit permettre les accès concurrents aux
informations. Plus précisément, il doit gérer si nécessaire les conflits d’accès
simultanés en écriture sur la même information.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 12
Le haras des Cruchettes
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 13
1.6 Prise en main de l’application Gestion de Haras
Manipulations :
• Manipuler les listes déroulantes des trois formulaires d’accès aux fiches
client, étalon et jument.
• Accéder à la fiche d’un client existant
• Créer la fiche d’un nouveau client
• Accéder à la liste des contrats d’un client (par exemple : Bernadou)
• Créer un nouveau contrat
• Ouvrir la fiche d’une jument déjà enregistrée (par exemple : Bagatelle de
Mai)
• Créer la fiche d’une nouvelle jument (saisir la date du jour comme date à
revoir)
• Editer la liste des juments à voir dans la journée
• Accéder à la fiche de suivi d’une jument (par exemple : Bagatelle de Mai)
• Enregistrer le résultat d’un examen échographique et une insémination dans
la fiche de suivi d’une jument
• Accéder à la fiche d’un étalon (par exemple Hurgo)
• Sélectionner les juments affectées à l’étalon depuis sa fiche
• Ouvrir la fiche de suivi d’une jument sélectionnée dans la liste des juments
affectées à l’étalon (double-clic sur le nom de la jument)
• Depuis le menu Etalon, calculer le bilan de fertilité des étalons (global et
par chaleur)
Tester la réaction d’Access lorsque deux postes mettent à jour en même temps la
même donnée. Pour cela, deux postes de travail voisins exécutent la même
application.
Les données de la base sont physiquement rangées dans les tables (onglet
Tables).
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 14
Programmer une base de données
avec Access, c'est :
paramétrer des
composants logiciels
formulaires
préexistants :
– les tables, supports de
composants intermédiaires stockage des données
– des composants inter-
médiaires
– les formulaires
tables
présentés à l'utilisateur
emboîter ces
composants
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 15
1.7 Programmer une base de données Access
Les étapes à respecter lorsque l’on crée une base de données avec Access sont :
• Définir les informations que l’on stocke dans les tables de la base de données
(en paramétrant les composants Table à partir de la fenêtre Base de Données)
et les liaisons existant entre ces tables.
• Définir la façon dont on va présenter les informations stockées dans les tables
à l’utilisateur. Pour cela, on crée des formulaires (en paramétrant les
composants Formulaire à partir de la fenêtre Base de Données). On aura besoin
également de créer d’autres composants que l’on associera aux formulaires
(requêtes, macro-commandes que l’on définira plus tard).
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 16
Clé primaire : numéro
différent pour chaque Propriétés
personne
La table Personne
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 17
1.8 Création d’une table
1.8.1 Définitions
Un objet, modélisé par une table, peut être caractérisé par un ensemble de
propriétés élémentaires.
Exemples: On désire caractériser l’objet client par son adresse, son numéro de
téléphone, ….
Parmi les types prédéfinis, les types texte et numérique sont les plus utilisés.
Exemple : Le nom est de type texte de longueur 30 caractères, l’âge est de type
numérique, réel.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 18
Cela est particulièrement nécessaire pour lever les ambiguïtés potentielles
engendrées par les homonymies.
Lancez Microsoft Access. Vous allez créer une nouvelle base de données.
Choisissez l’option Créer une nouvelle base de données et cliquez sur ok. Dans
la boîte de dialogue Fichier nouvelle base de données :
• sélectionnez votre répertoire de travail (ie N:\),
• créez une nouvelle base portant le nom haras.mdb.
Dans cette nouvelle base, vous allez créer la table Personne. Cliquez sur l’onglet
Tables de la fenêtre Base de données. Cliquez sur le bouton Nouveau, puis
sélectionnez dans la liste l’option Mode Création.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 19
Entrez les noms des 3 colonnes de la table Personne dans la colonne Nom du
Champ et sélectionnez leur type dans la colonne Type de données. Les 3
colonnes sont :
• IdPersonne (la clé de type NuméroAuto),
• NomPersonne (de type Texte de 30 caractères),
• PrénomPersonne (de type Texte de 30 caractères).
Définissez la colonne IdPersonne en tant que clé primaire de la table. Pour cela,
sélectionnez la ligne contenant la définition de IdPersonne et cliquez sur le
bouton Clé primaire de la barre d'outils.
Identifiez les deux modes d’ouverture d’une table (mode Création et mode
feuille de données) en cliquant sur les boutons Modifier et Ouvrir.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 20
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 21
1.9 Création d’un formulaire
Pour que l’utilisateur puisse accéder aux données qui l’intéressent sans avoir
besoin de connaître la structure des tables de la base.
Pour pouvoir réaliser des contrôles sur la façon dont sont saisies les données ou
pour protéger les données visualisées lorsque l’on ne fait que de la consultation.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 22
Propriétés Liste des champs
Assistant
Boîte à
outils
Modes :
création,
formulaire,
feuille de
données
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 23
1.9.3 Manipulations : création du formulaire
Personne avec l’aide d’un assistant
Dans ce formulaire, nous allons présenter les données contenues dans la table
Personne
Nous allons partir de cette première mise en forme pour obtenir le formulaire
présenté sur la page de gauche.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 24
1.9.4 Manipulations : Personnalisation du formulaire
FichePersonne
• mode formulaire : les données d’une même ligne de la table sont présentées
dans le formulaire,
• mode création : ce mode permet de modifier la présentation des données sur le
formulaire,
• mode feuille de données : les données sont affichées en mode tableau.
On peut passer d’un mode à un autre à partir du bouton Affichage dans la barre
d’outils. Testez ces trois modes.
Cliquez sur le bouton bouton de commandes dans la boîte à outils. Placez-le sur
le formulaire. Sous l’assistant, sélectionnez dans la liste Catégories , l’option
Opérations sur enregistrements, puis dans la liste Actions l’option Sauvegarder
un enregistrement. Cliquez sur le bouton Suivant. Choisissez une icône qui
apparaîtra sur le bouton. Puis cliquez sur le bouton Terminer. Recommencez
l’opération pour placer un bouton Annuler et un bouton Supprimer.
Sauvegardez et exécutez le formulaire pour vérifier le fonctionnement des trois
boutons.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 25
1.9.5 Paramétrage des contrôles du formulaire
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 26
1.9.6 Récapitulation sur la création d’un premier
formulaire
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 27
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 28
L'emboîtement des composants
Formulaire
FichePersonne
Colonne
NomPersonne
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 29
1.10 Pour en finir avec cette introduction
Il réalise des formulaires en leur associant des données (sous la forme d’une
table ou d’une requête attachée) et des contrôles graphiques.
1. Une base de données peut être utilisée simultanément par plusieurs personnes
connectées au même réseau ?
2. Si deux personnes modifient en même temps le même enregistrement d’une
table, le premier qui a commencé à modifier l’information a la priorité ?
3. Sur le disque dur, chaque table de la base de données est enregistrée dans un
fichier séparé ?
4. On peut modifier la valeur enregistrée dans une colonne de type
NuméroAuto ?
5. Un formulaire permet d’afficher les données enregistrées dans une table ?
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 30
La relation
EstLaPropriétéDe entre les tables
Etalon et Personne
Etalon
Achille est la propriété
Nom IdPropriétaire de Mr Gallois
Achille 2
Biésolo 8
Hurgo 8 Personne
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 31
2. Structuration des données
Chaque entité du système d’information est modélisée par une table (par
exemple, la table Personne). Ses propriétés sont définies par les colonnes de la
table (par exemple, NomPersonne). On distingue une colonne particulière, la clé
primaire, qui permet d’identifier de manière unique chaque occurrence de
l’entité (par exemple, IdPersonne).
On veut maintenant pouvoir représenter les relations existant entre les entités du
système d’information. Par exemple, on veut pouvoir représenter la relation
EstLaPropriétéDe qui associe une occurrence de l’entité Etalon à une
occurrence de l’entité Personne.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 32
2.3 Représentation des relations de type un à
plusieurs entre entités
2.3.1 Introduction
On peut être amené à représenter des relations un à plusieurs entre les entités.
Pour représenter ce type de liaison, on ajoute une colonne dans la table du côté
plusieurs.
Dans l’exemple, on ajoute la colonne IdPropriétaire dans la table Etalon.
On appelle cette nouvelle colonne clé étrangère car elle contient la valeur de la
clé primaire identifiant l’entité du côté un de la relation.
Dans l’exemple, il s’agit de la colonne IdPersonne de la table Personne.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 33
2.3.4 Notion de clé étrangère
Définition : Dans une table B, une colonne clé étrangère permet de référencer
une ligne d’une table A. De cette manière, la clé étrangère matérialise la relation
de type un à plusieurs existant entre la table A et la table B. La clé étrangère
contient la valeur de la clé primaire de la ligne référencée dans la table A.
La table Etalon contient toutes les informations que l’on désire conserver sur les
étalons (nom, caractéristiques, tarif, ...).
Créez la table Etalon depuis la fenêtre Base de données. Entrez les noms de 3
colonnes de la table Etalon, à savoir:
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 34
2.4 Maintien de la cohérence des relations entre les
tables
Access peut contrôler automatiquement que les valeurs prises dans la colonne
IdPropriétaire de la table Etalon correspondent bien à des valeurs existantes
dans la colonne IdPersonne de la table Personne.
2.4.3 Manipulations
Par le menu Outils, option Relations, sélectionnez les deux tables dans la fenêtre
Ajouter une table.
Attention : Le sens dans lequel on établit la relation est important car il s’agit
d’une relation asymétrique de type un à plusieurs (ie à un propriétaire peut
correspondre plusieurs étalons, la réciproque étant fausse).
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 35
La boite de dialogue Relation doit être ouverte. Si ce n’est pas le cas, double-
cliquez sur la relation inter-tables. Dans cette boite, il est possible de définir
plusieurs propriétés sur la relation (contrôle de l’intégrité référentielle, cascades
de mise à jour et suppression, type de jointure).
Créez deux étalons Achille et Biésolo ayant pour propriétaire Bernadou Lucien.
Essayez de modifier le propriétaire d’un étalon en tapant un numéro non existant
dans la table Personne.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 36
2.4.4 Maintien de la cohérence en cas de
modification ou de suppression dans les tables
référencées
Inspectez les propriétés qui peuvent être définies sur la relation (contrôle de
l’intégrité référentielle, cascades de mise à jour et suppression).
Faut-il valider cette option pour la relation qui lie Personne à Etalon ?
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 37
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 38
La relation EstLaPropriétéDe
entre les tables Etalon et Personne
Etalon Personne
IdEtalon Nom IdPersonne Nom
1 Biésolo 2 Gallois
2 Achille 8 Dibango
EstLaPropriétéDe
IdCheval IdPropriétaire
Biésolo est la
propriété de Mr 12 88 Achille est la
Dibango propriété de Mr
2 2 Gallois et de
2 8 Mr Dibango
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 39
2.5 Représentation des relations de type plusieurs à
plusieurs entre entités
2.5.1 Introduction
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 40
2.5.4 Manipulations : création de la table
EstLaPropriétéDe
Créer une nouvelle base haras2.mdb avec une table Personne (avec 2 colonnes
IdPersonne, clé primaire et NomPersonne) et une table Etalon (avec 2 colonnes
IdEtalon, clé primaire et NomEtalon).
Mémorisez dans les tables de la base le fait que Achille a pour propriétaires
Gallois et Dibango et que Biésolo a pour propriétaire Dibango.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 41
2.5.5 Nouvelle définition d’une clé primaire
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 42
Récapitulation
Chaque entité du système d'information est
représentée par une table.
Chaque table contient obligatoirement une
colonne particulière (appelée clé primaire)
qui identifie de manière unique chaque
exemplaire de l'entité modélisée.
Les tables peuvent être liées entre elles par
des relations.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 43
2.6 Récapitulation
Les données sont stockées dans des tables correspondant aux entités du système
d’information modélisé.
Access est une base de données relationnelle. On peut créer des relations entre
les entités modélisées.
Règle 1: Lorsque l’on veut définir une relation asymétrique entre deux entités de
type un à plusieurs, on ajoute une colonne de liaison dans la table se trouvant
du côté plusieurs.
Règle 2: Lorsque l’on veut définir une relation symétrique entre deux entités de
type plusieurs à plusieurs, on crée une nouvelle table contenant au moins deux
colonnes. Ces colonnes référencent les clés primaires des deux tables mises en
relation. Elles constituent la clé primaire de la table représentant la relation.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 44
2.7 Exercice : la gestion d’un ensemble
d’exploitations agricoles
On désire modéliser dans une base de données des informations sur des
exploitations agricoles, leur propriétaire, les employés et les parcelles. Dans une
nouvelle base Access (agro.mdb par exemple), définissez la structure des tables
permettant de modéliser ces entités.
On décrit :
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 45
2.8 Questions de révision sur la structuration des
données
1. Deux enregistrements d’une même table peuvent avoir même valeur pour la
clé primaire ?
2. Access rend obligatoire la définition d’une clé primaire lorsque l’on crée une
table ?
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 46
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 47
3. Les requêtes
Dans une application base de données, on définit deux points de vue sur les
données :
Par exemple, le client du haras consulte la base de données pour connaître les
caractéristiques des étalons. Pour cela, l’administrateur construit une vue sur
la base de données dans laquelle il sélectionne et rassemble les informations
disponibles dans la base concernant l’étalon qu’il désire rendre accessible au
client.
Pour construire une vue, on crée une requête de sélection qui rassemble dans
une table virtuelle les données stockées dans des tables de la base. On parle de
table virtuelle car les informations obtenues par une requête de sélection sont
présentées sous la forme d’une table.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 48
Liste des tables rassemblées dans la Liste des colonnes regroupées
requête dans la requête
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 49
3.2 Définition d’une requête de sélection
Exemple : Dans une jointure entre les tables Etalon et Personne, on définit
comme colonnes de jointure IdPersonne dans la table Personne et
IdPropriétaire dans la table Etalon. La ligne (1, Biésolo, 2) de la table Etalon
est jointe à la ligne (2, Gallois) de la table Personne par l’opération de
jointure.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 50
3.3 Manipulations : Création de la requête
ReqFicheEtalon
Depuis la fenêtre Base de données, cliquez sur l’onglet Requêtes. Puis cliquez
sur le bouton Nouveau. Sélectionnez dans la liste le mode Création.
Sélectionnez dans la fenêtre Ajouter une Table les tables auxquelles vous avez
besoin d’accéder, à savoir, Personne et Etalon.
Sélectionnez tous les attributs de la table Etalon. Pour cela, cliquez sur le titre de
la table. Toutes les colonnes de la table sont alors sélectionnées. Glissez-les dans
le tableau se trouvant dans la partie inférieure de la fenêtre.
Sauvegardez votre requête par l’option Enregistrer sous du menu Fichier sous
le nom ReqFicheEtalon.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 51
Access a regroupé sur la même ligne de la table résultat de la requête les lignes
des tables qui ont même valeur pour les colonnes de liaison.
Par exemple : Biésolo est relié à Dibango car Access a relié la ligne (1,
Biésolo, 4) de la table Etalon à la ligne (4, Dibango) de la table Personne.
Remarquez qu’il est possible de modifier les valeurs affichées dans la requête.
Vérifiez que ces modifications sont prises en compte dans les tables.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 52
Liste des tables rassemblées dans la Liste des types de jointure
requête possibles entre les tables
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 53
3.4 Plusieurs types de jointures possibles entre les
tables
Exemple : Dans une jointure de type 1 entre Etalon et Personne (1, Biésolo, 2)
est joint à (2, Gallois) par contre (5, Le Grand Gascon, null) ne figure pas
dans la table résultat de la jointure car la colonne IdPropriétaire n’est pas
renseignée (null veut dire que la colonne n’est pas renseignée).
Exemple : Une jointure de type 2 entre Personne et Etalon affiche toutes les
personnes, même celles qui ne possèdent pas d’étalon. (2, Gallois) est joint à
(1, Biésolo, 2); (5, Dupont) figure également dans la table résultat de la
jointure même si aucune des lignes de la table Etalon ne fait référence à la
personne n°5.
Exemple : Une jointure de type 3 entre Etalon et Personne affiche tous les
étalons, même ceux pour lesquels la colonne IdPropriétaire n’est pas
renseignée. (1, Biésolo, 2) est joint à (2, Gallois); (5, Le Grand Gascon, null)
figure également dans la table résultat de la jointure alors que la colonne
IdPropriétaire n’est pas renseignée.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 54
3.5 Manipulations : paramétrer le type de jointure
Double-cliquez sur la liaison entre les tables. Vous constatez que trois types de
liaisons (encore appelées jointures) sont possibles entre les tables lorsque l’on
exécute la requête.
On peut spécifier des critères de sélection dans une requête. Pour cela, il suffit
d’indiquer la valeur recherchée sur la ligne Critères de la colonne sur laquelle on
veut opérer une sélection.
Exemple : Pour lister les étalons dont Dibango est propriétaire, on tape sur la
ligne Critères de la colonne NomPersonne la valeur Dibango.
Exemple : Pour lister les étalons dont le nom commence par un B, on tape sur
la ligne Critères de la colonne NomEtalon la valeur B*.
Si l’on veut faire une interrogation multi-critères séparés par des et, on place les
critères de sélection sur la même ligne Critères.
Exemple : Pour lister les étalons dont le nom commence par un B et dont
Dibango est propriétaire, on tape sur la ligne Critères de la colonne
NomPersonne la valeur Dibango et sur la même ligne Critères de la colonne
NomEtalon la valeur B*.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 55
Si l’on veut faire une interrogation multi-critères séparés par des ou, on place les
critères de sélection sur deux lignes Critères différentes.
Exemple : Pour lister les étalons dont le nom commence par un B ou dont
Dibango est propriétaire, on tape sur la ligne Critères de la colonne
NomPersonne la valeur Dibango et sur la ligne Critères suivante dans la
colonne NomEtalon la valeur B*.
Il est possible de réaliser des calculs simples dans une requête (dénombrement,
somme, moyenne). Le résultat de la requête de sélection est une valeur calculée
sur l’ensemble des lignes.
Un regroupement de lignes est constitué par l’ensemble des lignes qui portent la
même valeur dans toutes les colonnes participant au regroupement. Le résultat
de la requête de sélection est constitué par l’ensemble des calculs effectués sur
les lignes de chaque regroupement. Il y a autant de résultat de calcul que de
valeurs différentes pour le critère de regroupement.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 56
3.10 Manipulation
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 57
3.11 Exercices
1. Une requête de sélection permet de regrouper dans une table virtuelle des
colonnes provenant de tables différentes ?
2. Une liaison de type 1 entre les tables Personne et Etalon permet d’afficher
uniquement les propriétaires d’étalons ?
3. Une liaison de type 2 entre les tables Personne et Etalon permet d’afficher
toutes les personnes enregistrées dans la table Personne et les étalons dont
elles sont propriétaires le cas échéant ?
4. Dans une requête, on ne peut établir une jointure entre deux tables que sur des
colonnes liées par une contrainte d’intégrité référentielle ?
5. Lorsque l’on demande un tri sur trois colonnes de la requête, le tri n’est
effectué que sur la colonne la plus à gauche ?
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 58
Table Personne Table Etalon
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 59
4. Formulaire
Un formulaire est une fenêtre Windows dans laquelle on affiche une source de
données (table ou requête).
Les premières questions que l’on doit se poser lorsque l’on fabrique un
formulaire sont :
• Quelles informations veut-on afficher ?
• Dans quelles tables se trouvent-elles ?
Définition 2 : Si toutes les informations que l’on désire afficher se trouvent dans
une seule table, la source de données du formulaire est cette table.
Exemple : la source de données du formulaire FichePersonne est la table
Personne
Définition 3 : Si les informations que l’on désire afficher sont réparties dans
plusieurs tables, la source de données du formulaire est une requête de sélection
regroupant ces informations.
Exemple : la source de données du formulaire FicheEtalon est la requête
ReqFicheEtalon
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 60
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 61
4.2.1 Manipulations : création du formulaire
FicheEtalon
En mode création, cliquez sur le bouton Liste des champs de la barre d’outils.
Sélectionnez tous les noms de colonnes s’y trouvant et glissez-les sur le
formulaire.
Identifiez les trois modes de visualisation d’un formulaire dans la barre d’outils
(bouton affichage)
• mode création : il permet de concevoir le formulaire,
• mode formulaire : il permet de visualiser les données d’une même ligne en
mode fiche,
• mode feuille de données : il permet de visualiser les données en mode
tableau.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 62
Nous allons ajouter deux boutons de commande sur le formulaire. Affichez la
boîte à outils (cliquez sur l’icône boîte à outils). Activez les assistants contrôle
(bouton baguette magique dans la boîte à outils). Ajoutez un bouton Enregistrer
et Fermer le formulaire.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 63
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 64
La colonne affichée dans le contrôle est la première colonne de la requête
Origine/
Source :
Requête Source
contrôle :
IdPropriétaire
Contenu : Colonne
Liste liée : 3
Personnes
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 65
4.3 Contrôles listes modifiables
4.3.1 Définition
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 66
4.3.3 Manipulations : création d’une liste modifiable
Créez une requête à partir de la table Personne dans laquelle vous sélectionnerez
les colonnes NomPersonne, PrénomPersonne et IdPersonne. Triez noms et
prénoms par ordre croissant. Pour cela, sélectionnez dans le tableau résultat de la
requête dans les deux colonnes correspondant au nom et au prénom l’option
croissant sur la ligne Tri. Sauvegardez cette requête sous le nom
ListePersonnes. Exécutez-la pour vérifier qu’elle vous donne bien le résultat
désiré.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 67
6) Largeurs de colonnes : C’est la largeur d’affichage de chacune des
colonnes.
Tapez 2,5cm; 2,5cm; 0cm. Le troisième paramètre correspond à la colonne
IdPersonne. Cette colonne est donc présente dans la requête mais non
affichée dans la liste.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 68
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 69
4.4 Impact de la modification de la structure de
données sur l’application
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 70
4.4.2 Manipulation : un deuxième exemple
d’utilisation du contrôle liste modifiable dans la
définition d’une table
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 71
4.4.3 Manipulation : modification de la requête
ReqFicheEtalon
Complétez la requête avec les attributs que vous avez ajoutés dans la table
Etalon. Pour cela, sélectionnez les 4 nouvelles colonnes et glissez-les dans le
tableau se trouvant dans la partie inférieure de la fenêtre.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 72
4.4.4 Manipulation : modification du formulaire
FicheEtalon
Pour ajouter sur le formulaire les colonnes de la requête qui ne s’y trouvent pas
déjà, cliquez sur le bouton Liste des champs de la barre d’outil. Elle fait
apparaître la liste de toutes les colonnes de la requête associée au formulaire.
Cliquez sur les colonnes à ajouter et glissez-les sur le formulaire.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 73
4.5 Verrouillage des contrôles zone de texte
Nous allons donc verrouiller les contrôles zone de texte associés aux colonnes
de la table Personne. Sélectionnez ces contrôles (Shift-clic), ouvrez l’éditeur de
propriétés, dans la liste des propriétés des données, positionnez la propriété
Verrouillé à oui.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 74
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 75
4.6 Exercices
Pour l’application de gestion du haras, vous allez créer une table Contrat qui
contient les informations suivantes :
• IdContrat de type NuméroAuto,
• DateContrat de type date,
• NoClient de type numérique entier long,
• NoEtalon de type numérique entier long,
• PrixRéservation de type numérique réel double,
• PrixNaissance de type numérique réel double.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 76
Données stockées dans la table Parcelle
Données stockées dans la table Exploitation Liste modifiable pour sélection d’une
exploitation
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 77
4.6.2 Création du formulaire Parcelle
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 78
fenêtre d'édition de l'expression fenêtre de sélection de la propriété du
contrôle
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 79
4.7 Evénements et macro-commandes
Pour cela, nous allons utiliser les possibilités qu’offre Access de programmer
des actions automatiques (ici définir la valeur de zones de texte) lorsqu’un
événement intervient (ici insertion d’un nouvel enregistrement dans la table
Contrat ou choix d’une valeur dans une liste modifiable par exemple). Nous
allons apprendre à programmer un nouveau type de composant d’Access : la
macro-commande (ou plus simplement la macro).
4.7.2 Définitions
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 80
4.7.3 Manipulation : insertion automatique de la
date du contrat
Sélectionnez l’événement Avant Insertion, nous allons lui associer une macro
qui va initialiser la date du contrat lorsque l’on saisit un nouveau contrat.
Cliquez sur les trois petits points de suite en bout de ligne. Dans la boîte de
dialogue Choisir Générateur, sélectionnez Générateur de macro.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 81
Dans la partie Arguments de l’action (partie inférieure de la fenêtre), deux
lignes sont à paramétrer :
1. la ligne Elément : on y indique le contrôle dans lequel on veut affecter
une valeur,
2. la ligne Expression : on y indique la valeur que l’on veut affecter.
Dans la deuxième colonne (sélection d’un contrôle), apparaissent tous les noms
de contrôles graphiques du formulaire sélectionné. Double-cliquez sur
DateContrat. Le nom complet du contrôle apparaît dans la fenêtre supérieure :
Formulaires![FicheContrat]![DateContrat]
Date()
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 82
4.7.4 Manipulation : initialisation des prix négociés
4.7.5 Exercice
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 83
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 84
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 85
4.8 Contrôle sous-formulaire
4.8.1 Définition
4.8.3 Exemple
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 86
La table Jument contient les informations caractérisant la jument :
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 87
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 88
La relation A Séjourné entre les
tables Jument et Séjour
Jument Jablanica a séjourné deux fois
au Haras. Le deuxième séjour
Nom IdJument
n'est pas terminé.
Jablanica 2
Cubanita 8
Séjour
IdCheval DateDébut DateFin
Cubanita a 2 2/4/1997 9/4/1997
effectué un seul 2 4/5/1997
séjour au Haras. 8 2/2/1997 7/3/1997
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 89
La table Séjour contient pour chaque jument les informations caractérisant
chacun de ses séjours au haras, à savoir la date de début et de fin du séjour.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 90
4.8.4 Manipulations : création du formulaire
FicheJument
Créez les tables Jument et Séjour telles que définies dans le paragraphe
précédent. Etablissez un contrôle d’intégrité référentielle entre ces deux tables
sur la colonne de liaison.
Créez avec l’option mode création le formulaire FicheJument ayant pour source
de données la table Jument. Utilisez la liste des champs pour poser les colonnes
de la table sur le formulaire. Ajoutez avec l’assistant deux boutons de
commande pour enregistrer et fermer le formulaire.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 91
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 92
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 93
4.8.5 Conclusion sur la structuration d’un formulaire
Règle 1 : Lorsque l’on veut afficher dans un formulaire une ligne d’une table A
jointe à une seule ligne d’une table B, alors la source de données du formulaire
est une requête de sélection reliant les tables A et B.
Exemple dans le poly : le formulaire FicheEtalon
Règle 2 : Lorsque l’on veut afficher dans un formulaire une ligne d’une table A
jointe à plusieurs lignes d’une table B, alors : (1) le formulaire inclut un sous-
formulaire, (2) la source de données du formulaire est la table A, (3) la source de
données du sous-formulaire est la table B.
Exemple dans le poly : le formulaire FicheJument
Vous allez créer un nouveau formulaire qui permet de gérer le suivi des juments.
La source de données associée au formulaire FicheSuivi est la table Jument.
Celle associée au sous-formulaire est une nouvelle table contenant le résultat des
examens (Date de l’examen, no de chaleur de la jument, taille du follicule dans
l’ovaire droit et dans l’ovaire gauche, etc ...). Vous appellerez cette table
SuiviJument.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 94
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 95
4.9 Navigation dans la base de données
Par exemple, lorsque l’on visualise la fiche d’une jument, on veut avoir des
précisions sur le contrat auquel elle émarge (nom de l’étalon, prix de vente,
...). Pour cela, on programme depuis le formulaire FicheJument l’ouverture
automatique du formulaire FicheContrat positionné sur le contrat auquel
émarge la jument.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 96
4.9.2 Manipulation : Ouvrir le formulaire
FicheContrat sur le contrat sélectionné
[ReqFicheContrat]![IdContrat]=[Formulaires]![FicheJument]![IdContrat]
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 97
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 98
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 99
4.9.3 Exercice : Ouverture de la fiche Etalon depuis
la fiche Contrat
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 100
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 101
4.10 Un formulaire libre comme formulaire d’accueil
de l’application
Nous allons nous servir de cette possibilité pour créer un formulaire d’accueil de
l’application.
4.10.1 Manipulation
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 102
Donnez un nom à la liste modifiable plus explicite que le nom par défaut donné
par Access. Nommez-la par exemple, ListeClients.
4.10.2 Exercice
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 103
4.11 Questions de révision sur les formulaires
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 104
L'état en mode aperçu avant impression
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 105
5. Les états
5.1 Définition
Comme pour les formulaires, on associe une source de données (une table ou
une requête) à l’état.
Par exemple, une requête regroupant des informations provenant des tables
Etalon, Personne et Contrat .
Des contrôles zone de texte sont associés aux colonnes de la source de données.
Par exemple, on désire regrouper dans une lettre à expédier à un client donné
toutes les réservations de saillie d’étalon qu’il a effectuées.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 106
On peut utiliser des fonctions de calcul sur les regroupements dans les contrôles
zone de texte.
Dans cet exemple, la fonction Somme cumule les prix de réservation des lignes
de la source de données correspondant au même client.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 107
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 108
Contrôles étiquette Contrôles zone de texte
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 109
5.2 Manipulation : la lettre de réservation
Depuis la fenêtre Base de données, cliquez sur l’onglet Etats. Cliquez sur le
bouton Nouveau, sélectionnez la source de données ReqLettreRéservation.
Sélectionnez le mode création. Cliquez sur OK.
A partir de la liste des champs, placez les zones de texte contenant les colonnes
de la source de données sur l’état comme sur le modèle de la page de gauche.
Dans un contrôle zone de texte que vous placerez dans le pied de groupe
IdPersonne, tapez l’expression :
=Somme([PrixRéservation])
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 110
5.3 Questions de révision sur les états
1. Chaque ligne de la source de données est affichée dans la zone Détail de l’état
?
2. Les colonnes de la source de données sont affichées dans des contrôles zone
de texte ?
3. Le résultat de l’exécution d’un état peut être repris sous Word ?
4. La liste des champs contient la liste des colonnes de la source de données
associée à l’état ?
5. On ne peut pas effectuer de cumul dans une zone de regroupement ?
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 111
6. Définition d’un menu pour
l’application
Pour saisir des options de menus dans cette barre, cliquez sur l’onglet
Commandes. Sélectionnez la catégorie Nouveau Menu. Dans la fenêtre
Commande, cliquez et glissez le texte Nouveau Menu sur votre barre de menu.
Pour changer le texte de l’option de menu que vous venez de créer, placez-vous
sur cette option dans la barre de menu et cliquez sur le bouton droit. Entrez le
nom de l’option dans la propriété Nom. Pour créer un sous-menu, cliquez et
glissez le texte Nouveau Menu sur l’option de menu à laquelle vous voulez
l’associer.
Fichier
Quitter
Edition
Couper
Copier
Coller
Juments
Liste des juments
Fiches jument
Fiches de suivi
Juments à voir
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 112
Etalons
Liste des étalons
Fiches étalons
Clients
Liste des clients
Fiches clients
Nouveau contrat
?
A propos de EquiManager
Pour associer une action à une option de menu, il faut d’abord créer une macro
qui réalise l’action (par exemple, une action OuvrirFormulaire). Puis depuis la
boîte Personnaliser, cliquez sur l’option de menu, cliquez sur le bouton droit et
sélectionnez l’option propriétés. Sélectionnez la macro qui réalise l’action dans
la propriété SurAction.
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 113
7. Démarrage automatique de
l’application
7.2 Manipulations
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 114
Table des matières
1. INTRODUCTION 3
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 115
2.5 Représentation des relations de type plusieurs à plusieurs entre entités 40
2.5.1 Introduction 40
2.5.2 Notion de relation plusieurs à plusieurs 40
2.5.3 Représentation d’une relation plusieurs à plusieurs 40
2.5.4 Manipulations : création de la table EstLaPropriétéDe 41
2.5.5 Nouvelle définition d’une clé primaire 42
2.6 Récapitulation 44
3. LES REQUETES 48
3.10 Manipulation 57
3.11 Exercices 58
4. FORMULAIRE 60
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 116
4.4 Impact de la modification de la structure de données sur l’application 70
4.4.1 Manipulation : modification de la structure de la table Etalon 70
4.4.2 Manipulation : un deuxième exemple d’utilisation du contrôle liste modifiable dans la définition
d’une table 71
4.4.3 Manipulation : modification de la requête ReqFicheEtalon 72
4.4.4 Manipulation : modification du formulaire FicheEtalon 73
4.6 Exercices 76
4.6.1 Création du formulaire FicheContrat 76
4.6.2 Création du formulaire Parcelle 78
Patrice Buche Réaliser une base de données avec Access 21/01/2005 page 117