Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Tables de base de données Access, Exercice pour débuter
Cet 
exercice Access est le tout premier d'une longue liste à suivre. Nous proposons d'apprendre à maîtriser le 
gestionnaire de base de données Access par la mise en pratique. Et pour cela nous débutons par le commencement afin d'assurer une progression pédagogique millimétrée. Chaque cas pratique proposera de reprendre les travaux réalisés dans l'exercice précédent. Ainsi, au fil de cet apprentissage, nous bâtirons une vraie 
application professionnelle. En l'occurrence ici, il s'agira d'offrir tous les outils permettant de gérer les clients et leurs factures sur la base de produits achetés.
Source de l'application et présentation
Pour les manipulations, il est nécessaire de disposer de données. Nous proposons tout d'abord de les réceptionner.
Vous notez la présence d'un volet sur la gauche de l'écran. Il s'agit du 
volet des objets Access.

Trois éléments sont déjà présents. Il s'agit de trois 
tables nommées respectivement 
Clients, 
Produits et 
Remises. Les tables sont les outils pour fonder une base de données et sceller son ossature. Même si elles permettent d'afficher les données, elles ne doivent jamais être utilisées pour les modifier ou en ajouter. Nous le verrons, l'outil dédié est le 
formulaire.
Ce volet sur la gauche, listera tous les 
objets Access que nous créerons au fil de l'apprentissage par ces exercices. Ils seront regroupés par catégories. Nous y retrouverons les 
tables bien sûr mais aussi les 
requêtes, les 
formulaires, les 
états et encore les 
macros.
- Dans le volet de gauche, double cliquer sur la table Clients,
Nous l'affichons ainsi en 
mode feuille de données. Ce mode est utilisé pour vérifier les réglages définis en mode création. Il peut s'agir des 
formats, 
types de données ou 
masques de saisie par exemple. Nous aurons l'occasion d'aborder très vite ces notions.

Cette 
table recense donc tous les 
clients connus par l'entreprise. Chaque ligne décrit un client. En termes de 
base de données, une ligne est appelée 
enregistrement. Chaque 
enregistrement est détaillé sur plusieurs colonnes. Ces colonnes sont appelées des 
champs définis par leur nom en entête. Ces définitions sont primordiales pour débuter l'apprentissage d'un 
gestionnaire de base de données.
Chaque client est donc décrit sur les 
champs Client_civilite, Client_nom, Client_prenom, Client_dep et Client_ville. Ces deux derniers champs, 
Client_dep et Client_ville, ne sont pas encore renseignés à ce stade.
Les noms attribués aux 
champs d'une 
table sont importants. Ils ne doivent pas être négligés. Tout d'abord, il est nécessaire d'exclure les espaces ainsi que les accents. Les noms doivent être explicites et le plus court possible. Il est intéressant de rappeler en préfixe le 
nom de la table, comme ici. Lorsque nous réaliserons des correspondances, par les 
requêtes notamment, ils permettront d'identifier sans ambiguïté la source de données.
- Dans le volet de gauche, double cliquer sur la table Produits pour afficher son contenu,

Cette 
table recense tous les articles vendus par l'entreprise. Si vous consultez la petite barre de navigation en bas de la fenêtre 
Access, vous remarquez qu'elle compte 
244 enregistrements. 244 produits sont donc proposés à la vente. Le niveau de détail est plus important que pour la table précédente. Les champs sont effectivement plus nombreux. Vous notez la présence d'un identifiant unique pour chaque enregistrement, inscrit dans le tout premier 
champ produit_id. Cette notion est fondamentale pour un 
gestionnaire de base de données. Toute 
table doit identifier chacun de ses 
enregistrements de façon unique. Toute table doit donc offrir un champ dédié. Et ce 
champ doit porter la 
clé primaire. Nous y reviendrons.
La nature des champs de cette table diffère contrairement à la précédente. Certains hébergent des données numériques tandis que d'autres accueillent des informations textuelles. Pour des raisons d'ergonomie et d'homogénéité, dans les exercices à suivre, nous devrons définir les 
types de données associés, mais aussi les 
formats et les 
masques de saisie.
Lorsque plusieurs tables ou objets sont ouverts ensemble, vous remarquez qu'ils sont listés sous forme d'onglet. Un clic sur l'
onglet Clients par exemple permet de revenir sur l'affichage du contenu de la 
table Clients.
- Dans le volet de gauche, double cliquer sur la table Remises pour afficher son contenu,
Un troisième onglet vient se greffer à la suite des autres et nous affichons la 
table en mode 
feuille de données. Cette table est très simple. Elle est organisée sur deux champs. Elle propose des remises reconnues par des codes. Ces codes font office d'
identifiants dans le premier 
champ Remise_id. A l'avenir, nous exploiterons cette table pour permettre à l'entreprise de réaliser des opérations commerciales. L'un de ces codes inscrit dans le 
champ produit_code de la 
table produits conduira à une promotion.
Créer les clés primaires
Nous l'avons déjà évoqué, les 
tables sont l'ossature d'une 
base de données. Elles doivent être pensées et architecturées en amont. De plus, l'information doit être découpée entre plusieurs tables. Et ces tables devront être reliées entre elles. C'est une nécessité absolue dans le fonctionnement des 
gestionnaires de bases de données.
Il n'est pas envisageable de répéter les informations d'un client à chaque fois qu'il passe une commande. Ces 
données doivent être reliées dans des tables différentes. C'est ainsi que nous améliorons la gestion de l'information et les performances globales.
Certaines de ces 
tables sont encore manquantes. Nous devrons les créer. En effet, nous devons pouvoir renseigner les commandes et le détail de chaque commande d'un client. Il s'agira ensuite de les relier. Ces liaisons sont rendues possibles par la présence d'une 
clé primaire. Comme elle identifie chaque 
enregistrement de façon unique, c'est elle qui permet de déterminer sans ambiguïté quelles sont toutes les commandes attachées à un client par exemple.
- Cliquer sur l'onglet Clients pour revenir sur l'affichage de sa table,
- Dans le ruban Accueil, cliquer sur la flèche du bouton Affichage,
- Dans la liste, choisir Mode création,

Nous basculons ainsi en 
mode conception de table. C'est dans cet éditeur que nous apprendrons, au fil des exercices, à typer et formater les champs notamment. Dans cette 
table Clients, vous remarquez qu'ils sont tous typés comme des 
textes courts. L'
onglet Général en bas de la fenêtre, offre toutes les options de paramétrage pour le champ sélectionné en haut de la fenêtre. Et à ce titre, nous constatons que la taille de ce texte court est limitée à 255 caractères. Pour un champ destiné à recevoir l'information sur la civilité du client, ce réglage est surdimensionné. Afin de calibrer la 
base de données au plus juste et de préserver les ressources, nous l'adapterons en temps voulu.
Cette 
table Clients ne propose pas encore de 
champ permettant d'identifier chaque personne de façon unique. Nous devons le créer et l'exploiter comme 
clé primaire.
- Cliquer droit sur l'étiquette de ligne du champ Client_civilite,
- Dans le menu contextuel, choisir Insérer des lignes,

Une nouvelle ligne apparaît en entête des champs. C'est la position idéale pour entreprendre la création du 
champ de la clé primaire.
- Dans la zone Nom du champ, saisir : Client_id,
- Dans la zone Type de données, choisir NuméroAuto avec la liste déroulante,
Ce type de données consiste à attribuer un 
numéro entier auto-incrémenté à chaque création de nouvel 
enregistrement. Ainsi, chaque client sera identifié de façon unique. De fait, nous pouvons poser la 
clé primaire sur ce 
champ. Par définition, une 
clé primaire n'accepte pas les doublons. Vous ne devez donc jamais la poser sur un champ offrant des redondances.
- Cliquer droit sur l'étiquette du champ Client_id,
- Dans le menu contextuel, choisir Clé primaire,
Comme vous le remarquez, le symbole d'une clé se positionne instantanément sur l'étiquette de ligne du 
champ Client_id. Ce dernier est donc explicitement défini comme le 
champ de la clé primaire. En bas de la fenêtre, dans l'onglet général, vous remarquez que son 
attribut Indexé est réglé sur la valeur 
Oui - Sans doublons. Les redondances sont donc interdites. Le numéro auto-incrémenté veillera au grain. Un 
champ indexé est un champ pour lequel les valeurs sont stockées dans une base de connaissance pour améliorer les performances lors des recherches par exemple. Il s'agit en effet de la référence unique pour chaque enregistrement.

Cette notion est donc fondamentale, toute table de base de données sauf très rares exceptions, doit toujours posséder une 
clé primaire.
- Enregistrer les modifications (CTRL + S),
- A gauche du ruban Création, cliquer sur la flèche du bouton Affichage,
- Dans la liste, choisir Mode feuille de données,
Nous retrouvons l'affichage du contenu de la 
table Clients. Mais cette fois, l'information supplémentaire sur l'identifiant apparaît. Et bien que la création de ce champ ait eu lieu a posteriori, vous remarquez que les 
numéros incrémentés uniques se sont créés automatiquement.

Nous devons désormais définir les clés primaires sur les deux autres tables.
- Cliquer sur l'onglet de la table Produits pour afficher son contenu,
- A gauche du ruban Accueil, cliquer sur la flèche du bouton Affichage,
- Dans la liste, choisir Mode création,
Nous basculons donc en conception de table. Vous remarquez la présence d'une information dans la 
colonne Description pour le 
champ produit_code. Cette colonne permet au concepteur d'ajouter des notes destinées à rappeler la nature et la fonction de certaines informations. Elles ne sont pas visibles en mode feuille de données.
Le 
champ produit_id semble dédié pour recevoir la 
clé primaire. Pourtant, nous n'allons pas l'exploiter. Le 
champ produit_ref est plus adapté. La référence d'un article est unique par définition. C'est donc lui qui doit porter cette fameuse clé.
- Cliquer droit sur l'étiquette du champ produit_id,
- Dans le menu contextuel, choisir Supprimer les lignes,
- Puis, cliquer sur le bouton Oui du message de confirmation,

Nous l'avons dit précédemment, il est opportun de positionner le champ de la clé primaire en entête.
- Glisser l'étiquette de ligne du champ produit_ref au-dessus du champ produit_nom,
- Puis, cliquer droit sur son étiquette de ligne,
- Dans le menu contextuel, choisir clé primaire,

Comme précédemment, le symbole de la clé apparaît sur l'étiquette du champ.
- Enregistrer les modifications (CTRL + S),
- A gauche du ruban Création, cliquer sur la flèche du bouton Affichage,
- Dans la liste, choisir Mode feuille de données,
Nous retrouvons l'affichage des produits de la société. Certes, nous avons quelque peu réorganisé les colonnes. Aucune alerte n'est apparue et c'est très bon signe. En effet, si le 
champ produit_ref avait comporté des redondances, 
Access aurait affiché une alerte d'incompatibilité. Rappelez-vous, par défaut, le 
champ de la clé primaire est 
indexé sans doublons.
- Cliquer sur l'onglet Remises pour afficher le contenu de sa table,
- A gauche du ruban Accueil, cliquer sur la flèche du bouton Affichage,
- Dans la liste, choisir Mode création,

Comme vous le remarquez, le 
champ de la clé primaire avait déjà été défini sur le 
champ Remise_id de cette table. Il est auto-incrémenté et 
indexé sans doublons, fort naturellement.
Créer et configurer des tables
Nous l'avons annoncé en préambule de cette formation, au fil de l'apprentissage par les 
exercices, nous transformerons cette 
base de données Access, en véritable application professionnelle de gestion. Elle devra notamment permettre d'établir la 
facturation des clients. Et pour cela, deux tables sont nécessaires. La première doit archiver les informations de synthèse de chaque nouvelle 
commande, comme la date et le montant total. La seconde doit offrir le niveau de détail de chacune de ces 
commandes. Elle doit donc accueillir les informations sur les références articles et les quantités achetées notamment. Nous choisissons de nommer ces 
tables respectivement 
Commandes et 
Detail_commandes.
- En haut de la fenêtre Access, cliquer sur l'onglet Créer pour activer son ruban,
- Dans la section Tables, cliquer sur le bouton Création de table,
Nous basculons de nouveau en mode 
conception de table mais cette fois, l'éditeur est vide de champs. Nous devons créer l'ensemble des champs composant la 
table Commandes pour commencer. Nous typerons ces derniers sans ajuster leur taille pour l'instant. Chaque chose en son temps.
- Dans la première ligne de la zone Nom du champ, saisir le nom : Com_num,
- Dans la colonne Type de données, choisir NuméroAuto avec la liste déroulante,
Nous commençons donc par la création du champ auto-incrémenté qui doit porter la 
clé primaire.
- Cliquer droit sur son étiquette de ligne,
- Dans le menu contextuel, choisir Clé primaire,
- Créer ensuite le champ Com_client avec le type de données Numérique,
En effet, ce champ doit recevoir l'identifiant du client ayant passé commande. C'est ainsi que sera établie la liaison avec la 
table parente Clients, sur la 
clé primaire. Les deux champs servant à créer cette relation doivent avoir le même type de données.
- Créer le champ Com_date avec le type de données Date/Heure,
- Puis, créer le champ Com_montant avec le type de données Montéaire,
Ce type est en effet tout à fait approprié pour afficher le montant d'une commande en Euros avec deux décimales. Il s'agit en quelques sortes d'un formatage prédéfini. Nous le constaterons en temps voulu.

Tous les champs nécessaires ayant été créés, nous devons enregistrer cette table.
- Réaliser le raccourci clavier CTRL + S,
- Dans la boîte de dialogue qui apparaît, la nommer Commandes et valider par Ok,
Instantanément, vous constatez que cette nouvelle 
table apparaît listée dans le 
volet des objets Access. Elle est désormais disponible.
- En haut de la fenêtre Access, cliquer sur l'onglet Créer pour activer son ruban,
- Dans la section Tables, cliquer sur le bouton Création de table,
Nous sommes de retour dans l'
éditeur de création de table d'Access.
- Créer les champs suivants :
Nom : Det_num, Type de données : NuméroAuto, champ de la clé primaire,
Nom : Det_com, Type de données : Numérique,
Nom : Det_ref, Type de données : Texte court,
Nom : Det_qte, Type de données : Numérique,
Nom : Det_remise, Type de données : Monétaire,
Le 
champ Det_com est ainsi défini avec le même 
type de données que celui de la 
clé primaire de la table parente. Il s'agit du 
champ Com_num créé précédemment. C'est ainsi que nous établirons la relation. Et c'est ainsi que nous pourrons retrouver tous les articles liés à une commande passée.
- Enregistrer la table (CTRL + S) sous le nom Detail_commandes,
Comme précédemment, cette table apparaît désormais listée dans le volet des objets Access.

Nous avons donc posé les premières pierres pour construire l'ossature de la 
base de données. Nous poursuivrons la construction de ces fondations dans le prochain 
exercice Access pour débutants.