Cours Access
Cours Access
Cours Access
1
Collège LaSalle International, Tunis Session Hiver 2015
Chapitre 1 :
Introduction à Access
2
Collège LaSalle International, Tunis Session Hiver 2015
1 La base de données
1.1 Définition
Une base de données est un ensemble structuré de données enregistrées sur des supports
accessibles par l’ordinateur pour satisfaire simultanément plusieurs utilisateurs de façon
sélective et en un temps opportun.
Elle doit avoir un certain nombre de caractéristiques :
Données structurées : les informations contenues dans une base de données sont
réparties en enregistrements, chaque enregistrement ayant une structure bien définie
Données non redondantes : Une même information ne sera pas répétée plusieurs fois
dans la base de données.
Données cohérentes : Il ne doit pas être permis d’enregistrer dans une base des
informations incohérentes entre elles
Données accessibles directement selon de multiples critères
Indépendance des programmes et des données : La base de données doit être
indépendante des programmes qui y ont accès, on doit pouvoir utiliser un autre
programme pour traiter différemment ces données sans avoir à toucher à ces données
Sécurité des données stockées : la base de données doit permettre un système de
sécurité permettant de gérer les droits d’accès aux informations par les utilisateurs.
3
Collège LaSalle International, Tunis Session Hiver 2015
Microsoft Access est un système de gestion de base de données (SGBD) qui permet de
stocker et de gérer de vastes ensembles d’informations.
4
Collège LaSalle International, Tunis Session Hiver 2015
Prenons l’exemple d’un carnet d’adresses. Pour ce carnet d’adresses, nous allons utiliser une
table « contacts » qui contiendra toutes les informations concernant chaque contact, chaque
enregistrement contiendra les informations relatives à un (et un seul) contact (nom, adresse,
téléphone, date de naissance, etc.…). Comme on vient de le voir, chaque enregistrement
contient un ensemble d’informations (nom, adresse, téléphone) qui ont elles-mêmes divisé
l’enregistrement en plusieurs parties, chaque partie s’appelle un champ. Le champ contient
une partie des informations de chaque enregistrement.
La base de données : C’est l’ensemble des tables utilisées pour gérer l’information
La table : c’est un ensemble de données organisées en rangées et en colonnes
Le champ (ou colonne) : C’est l’unité d’information dans une table. Une table est
constituée de différents champs
L’enregistrement (ou la ligne) : C’est l’ensemble des données relatif à la même
information (le 1er enregistrement de la table contient les informations relatives au
contact « John Deuf »)
5
Collège LaSalle International, Tunis Session Hiver 2015
On peut regrouper ensemble dans une même table toutes les informations relatives au même
« sujet ». On voit bien ici qu’on peut regrouper ensemble les données concernant uniquement
l’identité de l’auteur et, dans une autre table, les informations relatives uniquement à l’album
(par exemple, l’année de sortie d’un album n’a pas de rapport direct avec l’identité de
l’auteur, on la trouvera dans une autre table).
6
Collège LaSalle International, Tunis Session Hiver 2015
Cette organisation répond à une des exigences des bases de données, à savoir le non
redondance des informations.
7
Collège LaSalle International, Tunis Session Hiver 2015
Pour gérer ce type de relation, il faut créer une troisième table qui va servir d’intermédiaire
entre la table « auteurs » et la table « albums »
Albums
Auteurs-Albums
8
Collège LaSalle International, Tunis Session Hiver 2015
Pour optimiser les temps de recherche dans les tables, Access (et d’ailleurs tous les SGBD)
ont besoin d’index. L’index permet à Access de retrouver plus rapidement les enregistrements
concernés ; il accélère aussi les opérations de tri.
Comment ? Les index fonctionnent avec une table comme la table des matières avec un livre.
Lorsqu’on indexe un champ, Access stocke hors de la table les valeurs de ce champ.
Lorsqu’on effectue une recherche sur ce champ, plutôt que de le chercher dans la table,
Access va faire sa recherche dans l’index, une fois qu’il aura trouvé, il affichera le contenu de
l’enregistrement associé à cet index.
9
Collège LaSalle International, Tunis Session Hiver 2015
Chapitre 2
10
Collège LaSalle International, Tunis Session Hiver 2015
1 Lancer Access
On peut lancer Access 2007 de diverses manières : à l’aide du bouton Démarrer , en
double cliquant sur un raccourci posé sur le Bureau, ou en ouvrant un fichier Access (.accdb).
On peut aussi cliquer sur le raccourci sur le programme Microsoft Access .
Tapez le nom de la
base de données.
Pour choisir
l'emplacement de
l'enregistrement,
vous cliquerez sur le
bouton dossier, vous
2 Le Ruban et les onglets choisirez ensuite le
dossier qui vous
convient.
Le Ruban présente quatre onglets principaux.
Accueil : manipuler les enregistrements, mettre en forme les caractères…
Créer : créer des objets, tables, requête, formulaires…
Données externes : importer ou exporter des données…
Outils de base de données : créer des relations, des macros, déplacer les données…
11
Collège LaSalle International, Tunis Session Hiver 2015
3 Le volet de navigation
Lorsque vous travaillez sur une base de données, les noms des objets qu'elle comprend
s'affichent dans le volet de navigation. Les principaux objets sont les tables, les formulaires,
les états, les pages, les macros et les modules. Les objets peuvent être regroupés par type
d’objets, mais aussi selon d’autres catégories.
Pour ouvrir le volet de navigation, cliquez sur (ou F11), pour le fermer sur (ou F11).
Pour ouvrir un objet dans l’espace de travail, double cliquez sur le nom de l’objet dans
le volet de navigation.
Pour appliquer une commande à l'un des objets, cliquez droit sur l’objet puis sur la
commande contextuelle. Les commandes contextuelles varient en fonction de l'objet
actif. Vous pouvez ainsi renommer, afficher ou masquer des objets, en modifier
certaines propriétés…
Dans chaque catégorie, les objets sont groupés. Les groupes apparaissent sous forme de
barres dans le volet. Pour ouvrir ou fermer un groupe, cliquez sur les double-flèches, située
à droite de la barre du groupe.
Les Tables : Chaque table de la base va contenir les données se rapportant à un sujet
particulier, la table «clients » va contenir les informations sur les clients. C’est l’objet
fondamental de la base de données, toute requête, formulaire ou état va être basé sur une ou
plusieurs tables.
Les Requêtes : Les requêtes vont être utilisées pour obtenir des données contenues dans une
ou plusieurs tables à partir d’une question. Par exemple, une requête va pouvoir nous
afficher la liste des clients habitant à Paris.
Les Formulaires : Le formulaire est utilisé pour faciliter la saisie et la modification des
données d’une table, par exemple, le formulaire "client" va permettre d’entrer de façon
conviviale les informations concernant un client. On peut les saisir sans formulaire, ce que
nous verrons, mais cette méthode est moins conviviale.
Les États : Les états permettent d’imprimer des données contenues dans des tables selon
une présentation définie en y intégrant éventuellement des calculs.
Les Macros : Les macros commandes permettent d’automatiser une suite d’opérations
répétitives.
12
Collège LaSalle International, Tunis Session Hiver 2015
13
Collège LaSalle International, Tunis Session Hiver 2015
14
Collège LaSalle International, Tunis Session Hiver 2015
15
Collège LaSalle International, Tunis Session Hiver 2015
Tous les autres types de données ont des propriétés similaires, certains ont des propriétés
supplémentaires :
Attention, la façon dont les données sont affichées dans un champ ne modifie en rien le
contenu de ce champ dans la table. Par exemple, si vous forcez à afficher un '1' avant le
contenu d'un champ, si ce champ contient '234', la valeur affichée sera '1234' mais le contenu
du champ dans la table sera toujours '234'. La propriété 'format d'affichage' n'influe que sur la
façon dont les données d'un champ vont être affichées.
16
Collège LaSalle International, Tunis Session Hiver 2015
17
Collège LaSalle International, Tunis Session Hiver 2015
Exemple :
18
Collège LaSalle International, Tunis Session Hiver 2015
Tri des enregistrements selon l’ordre croissant des prix unitaires des produits
19
Collège LaSalle International, Tunis Session Hiver 2015
20
Collège LaSalle International, Tunis Session Hiver 2015
pour terminer (et pas pour revenir à un affichage non filtré), on clique sur l’icône
21
Collège LaSalle International, Tunis Session Hiver 2015
Chapitre 3
Les formulaires
22
Collège LaSalle International, Tunis Session Hiver 2015
1 Présentation
Le formulaire permet d’afficher et de modifier le contenu d’une table de façon bien plus
agréable que le mode «feuille de données » qui ne permet qu’un affichage en lignes et
colonnes. De plus, le mode «feuille de données » ne permet l’affichage et la modification
d’informations ne provenant que d’une seule table, le formulaire va nous permettre de
manipuler au même endroit des informations provenant de plusieurs tables simultanément.
Les informations saisies ou modifiées dans le formulaire seront modifiées dans les tables à
partir desquelles le formulaire a été créé.
L’insertion d’un champ se traduit par l’affichage sur le formulaire de deux contrôles :
- Une étiquette portant la légende, sinon le nom du champ, pour indiquer à l’utilisateur ce qui a été
saisi, ou ce qu’il doit saisir dans le contrôle associé.
- Le contrôle associé permettant d’afficher ou de saisir une valeur du champ.
En fonction du type de données du champ, il est une zone de texte, une zone de liste ou une
case à cocher. Ce contrôle hérite des propriétés du champ, en particulier des propriétés
Légende, Format et Masque de saisie.
Le formulaire ayant été créé, son nom s’affiche dans le Volet de navigation.
23
Collège LaSalle International, Tunis Session Hiver 2015
- Utilisez le volet, titré « Liste de champs », pour insérer les champs souhaités dans le
formulaire. Cliquez sur le signe + d’une table pour l’ouvrir. Pour insérer un champ : cliquez-
glissez sur son nom jusqu’au formulaire, ou bien double-cliquez sur son nom.
Si on insère également un champ d’une table issue de la zone « Champs disponibles dans les
tables associées », les valeurs correspondantes de ce champ s’affichent en dessous, en
présentation analogue à celle d’une Feuille de données. C’est un sous-formulaire.
24
Collège LaSalle International, Tunis Session Hiver 2015
« Formulaire »
Tous les champs de la source de données (table ou requête) sont d’office insérés, avec création
éventuelle d’un sous-formulaire. La présentation est similaire à celle du formulaire créé après
activation du bouton « Formulaire vierge »
« Plusieurs éléments »
Cliquez sur le bouton Plusieurs éléments.
« Plusieurs éléments » (enregistrements) sont affichés : il n’y a pas un enregistrement par page
comme précédemment, mais un enregistrement par ligne.
« Feuille de données »
Cliquez sur le bouton « Plus de formulaires » > Feuille de données.
Un formulaire est généré avec une présentation analogue à celle de la Feuille de données.
25
Collège LaSalle International, Tunis Session Hiver 2015
26
Collège LaSalle International, Tunis Session Hiver 2015
27
Collège LaSalle International, Tunis Session Hiver 2015
28
Collège LaSalle International, Tunis Session Hiver 2015
Chapitre 4
Les états
29
Collège LaSalle International, Tunis Session Hiver 2015
1 Présentation
La fonction principale d’un état est la restitution des données. C’est un document destiné à être
imprimé. Il n’a pas l’interactivité du formulaire.
Un état affiche souvent les enregistrements résultant d’une requête. Tandis que le formulaire
n’affiche généralement qu’un seul enregistrement à la fois, l’état affiche une ou plusieurs listes
d’enregistrements. Etats et formulaires présentent toutefois de nombreuses similarités,
notamment en ce qui concerne les méthodes de création et la gestion des contrôles.
2 Créer un état
Il existe plusieurs méthodes de création d’un état :
L’« Etat vide »
Création rapide en deux clics
L’« Assistant Etat »
Le mode Création.
Access 2007 dispose également d’un « Assistant Etiquette ». Comme son nom l’indique, cet
Assistant permet de créer un état affichant des étiquettes.
Si le volet « Liste de champs » n’est pas affiché (à droite de la fenêtre), cliquez à l’onglet
Création des « Outils de présentation d’état », dans le groupe Outils, sur le bouton « Ajouter
des champs existants ». Utilisez ce volet pour insérer des champs dans l’état. Cliquez sur le
signe + d’une table pour l’ouvrir. Pour insérer un champ : double-cliquez sur son nom, ou bien
cliquez-glissez sur son nom jusqu’à l’état.
L’état affiche la liste des enregistrements, en mode Page.
30
Collège LaSalle International, Tunis Session Hiver 2015
31
Collège LaSalle International, Tunis Session Hiver 2015
Mode Etat : Ce mode permet de vérifier les données qui sont affichées dans l’état. Pour
en faciliter la lecture, on peut marquer temporairement une ligne en cliquant près de son
bord inférieur (pointeur en forme de flèche blanche ).
Mode Page : C’est un mode intermédiaire entre les deux précédents. Il permet
l’affichage des données ainsi que certaines modifications de la structure de l’état, en
particulier l’ajout de champs et la modification des regroupements.
Mode « Aperçu avant impression » : Pour afficher l’état actif en mode « Aperçu avant
impression », on peut appliquer la méthode usuelle : menu Fichier > Imprimer >
Aperçu avant impression.
32
Collège LaSalle International, Tunis Session Hiver 2015
Chapitre 5
Les requêtes
33
Collège LaSalle International, Tunis Session Hiver 2015
1 Présentation
Comme l’indique son nom, une requête sur une base de données est une demande concernant
cette base. C’est une demande d’information ou de modification. Une fois enregistrée, une
requête devient un objet de la base.
Les requêtes vont servir à afficher uniquement certaines données contenues dans les tables
selon certains critères. Elles peuvent aussi faire des calculs sur vos données, ainsi que créer des
sources de données pour les formulaires, les états ou même d'autres requêtes (on peut faire une
requête sur le résultat d'une autre requête). Elles servent encore à modifier des tables existantes
ou à en créer des nouvelles.
Il existe différents types de requêtes que nous allons détailler après :
La requête sélection : C'est celle qu'on utilisera le plus souvent. Elle permet de
sélectionner des enregistrements, de faire des calculs et des regroupements. Elles
ressemblent beaucoup aux filtres, mais permettent, en plus, de travailler sur plusieurs
tables simultanément.
La requête Mise à Jour : Cette requête modifie le contenu d'un ou plusieurs champs
d'une ou plusieurs tables. C'est le moyen le plus efficace pour mettre à jour un grand
nombre d'enregistrements en une seule opération.
La requête Ajout : Cette requête ajoute les données qu'elle a extraites à la fin d'une
table déjà existante.
La requête Suppression : Cette requête supprime un ou plusieurs enregistrements dans
une ou plusieurs tables.
La requête de Création de table : Cette requête crée une table à partir des données
qu'elle a extraites dans une ou plusieurs autres tables.
La requête d'Analyse croisée : Cette requête présente ses résultats sous forme de
tableau (de type Excel). On l'utilisera pour comparer des valeurs et dégager des
tendances.
La requête paramétrée : Ce sont des requêtes qui attendent un ou plusieurs paramètres
avant de s'exécuter. Par exemple changer le taux de TVA en passant le nouveau taux
comme paramètre. Ce peut être des requêtes de sélection ou croisée.
La requête SQL direct
34
Collège LaSalle International, Tunis Session Hiver 2015
35
Collège LaSalle International, Tunis Session Hiver 2015
36
Collège LaSalle International, Tunis Session Hiver 2015
Dans la partie supérieure de la fenêtre se trouvent la ou les tables avec la liste de leur champs,
c'est sur ces tables que vont porter les requêtes. Dans la partie inférieure, se trouve la
description de la requête.
Exemple :
Nous avons un tableau composé de colonnes et de lignes, dans chaque colonne, on indique les
champs qui vont apparaître dans le résultat de la requête ou qui vont servir dans la requête, ici
on veut la liste des clients habitant Saint-Quentin, on veut donc voir apparaître le champ Nom
et le champ Prénom, le critère de la requête va se faire sur le champ ville, on ajoute donc aussi
ce champ.
Pour ajouter un champ, on peut, soit le sélectionner dans la table et l'amener avec la souris sur
une colonne, soit on clique sur la ligne "Champ", la liste de tous les champs s'affiche alors et
on en sélectionne un dans la liste. Un des champs proposé s’appelle '*', ce champ signifie "tous
les champs de la table", si on choisi ce champ, tous les champs de la table apparaitront dans le
résultat de la requête, en plus des autres champs que vous aurez choisis.
La ligne "Table" sert à sélectionner la table à laquelle appartient le champ sélectionné, dans
notre cas, il n'y a qu'une table, le choix est vite fait.
La colonne "Tri" indique de quelle façon vont être triés les champs dans le résultat de la
requête : il y a trois sortes de tri : Croissant (de A à Z), Décroissant (de Z à A) et non trié. On a
choisi ici de trier le résultat de la requête par nom et par prénom de façon croissante. Le tri se
fait toujours de gauche à droite : le résultat de la requête sera d'abord trié par nom, puis par
prénom.
La colonne "Afficher" indique si le champ doit être affiché ou non, ici on veut afficher le nom
et le prénom de chaque client habitant à Saint-Quentin, mais on a pas besoin d'afficher, pour
chaque client, la ville dans laquelle il habite, puisqu'il s'agira toujours de Saint-Quentin, on a
donc désélectionné l'affichage du champ "Ville".
Enfin la colonne "Critères" va indiquer le critère de la requête, on veut la liste des clients
habitant Sain-Quentin, le critère est donc : le champ ville doit être égal à Saint-Quentin, d'où le
critère = "Saint-Quentin".
37
Collège LaSalle International, Tunis Session Hiver 2015
Le résultat de la requête s'affiche sous la forme d'une table que l'on peut modifier comme si il
s'agissait d'une table normale, on peut ajouter des enregistrements, les modifier, faire des
filtres, des tris, etc...
38
Collège LaSalle International, Tunis Session Hiver 2015
Notez que pour faire référence au champ "Date de la commande" dans la fonction Mois ( ), on
a écrit le champ entre crochets [ ]. On utilise les crochets lorsqu’on travaille avec un champ
dont le nom comporte des espaces. Par extension et par mesure de précaution, on les utilisera
avec tout type de champ.
39
Collège LaSalle International, Tunis Session Hiver 2015
La requête ressemble à la précédente, sauf que là, il y a deux critères : le premier Nom =
"Dupont" ET le deuxième Ville = "Paris". Vous noterez au passage qu'il n'est pas nécessaire
d'afficher le contenu du champ "ville" puisqu'on sait que ce sera toujours Paris. Vous me direz
que c'est la même chose avec "Nom", certes, mais c'est mieux d'avoir une liste de nom +
prénom qu'une seule liste de prénom.
40
Collège LaSalle International, Tunis Session Hiver 2015
41
Collège LaSalle International, Tunis Session Hiver 2015
Attention ! la requête ajout modifie irréversiblement la table à laquelle on ajoute des données.
42
Collège LaSalle International, Tunis Session Hiver 2015
Exemple 2 :
On va copier les clients trouvés dans la table Client_Sub dans la table Client.
43
Collège LaSalle International, Tunis Session Hiver 2015
44
Collège LaSalle International, Tunis Session Hiver 2015
Exemple2 :
45
Collège LaSalle International, Tunis Session Hiver 2015
46
Collège LaSalle International, Tunis Session Hiver 2015
47
Collège LaSalle International, Tunis Session Hiver 2015
48
Collège LaSalle International, Tunis Session Hiver 2015
8 Requête paramétrée
Dans votre base de données Clients, vous avez besoin d'une liste de factures pour Janvier, puis
pour Février, puis pour Mars, etc. La 1ère solution consiste à créer une requête simple pour
chaque mois, comme dans l'exemple ci-dessous :
Par contre, il est peu intéressant d'écrire une nouvelle requête chaque mois.
D'où la notion de requête paramétrée, qui permettra de rendre les dates variables. En clair, à
chaque fois que la requête sera lancée, Access demandera la date de début de période, puis la
date de fin, et affichera les résultats sur la période concernée.
49
Collège LaSalle International, Tunis Session Hiver 2015
50
Collège LaSalle International, Tunis Session Hiver 2015
51