Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Débuter avec Access - Première base de données
Access est un
SGBDR, un
Système de
Gestion de
Bases de
Données Relationnelles. Il est conçu pour gérer les données complexes
reliées entre elles. Lorsque ces données deviennent conséquentes, vous ne devez en aucun cas utiliser Excel pour les gérer mais
Access. Un de ses objectifs est d'éviter de répéter les données. Par exemple, dans le cas de clients qui passent régulièrement des commandes, nous ne construirons pas un tableau qui répète à chaque fois les données du client et les informations de sa commande. Nous construirons une
table qui identifie de façon unique chaque client. Et à cette table, par le biais d'une
clé primaire, nous relierons la table commandes dans laquelle seront listées toutes les commandes. Ainsi pour un client, dont les informations ne seront pas répétées, il sera facile d'obtenir la synthèse de toutes les commandes qu'il a passées.
- Cliquer sur l'icône d'Access pour le démarrer,
A l'ouverture,
Access propose plusieurs choix comme
Application web personnalisée. Nous y reviendrons.
- Cliquer sur le premier, base de données de bureau vide,
Comme vous le remarquez, et c'est une différence de philosophie fondamentale avec les autres logiciels,
Access vous demande tout de suite d'enregistrer votre
base dedonnées, avant même de commencer. En effet les saisies dans les
tables et
formulaires sont enregistrées en temps réel sur le disque dur. Elles ne sont pas stockées en mémoire pour être ensuite sauvegardées.
- Taper un nom dans la zone Nom du fichier,
- Choisir un emplacement de sauvegarde en cliquant sur l'icône du dossier à droite,
- Puis cliquer sur le bouton Créer.
Toute l'ossature d'une
base de données se construit sur les
tables. Ce sont elles qui doivent être pensées pour gérer les données et les relier entre elles avant de commencer tout autre travail. C'est pourquoi
Access vous dirige d'entrée sur la vue d'une première
table à créer en
mode Feuille de données.
Vous remarquez, comme pour tous les logiciels Office, la présence des
rubans sur la partie supérieure de la fenêtre. La colonne de gauche quant à elle, liste tous les objets de votre
base de données, créés à ce stade. Nous y retrouverons ainsi les
tables, les
requêtes, les
formulaires, les
états et les
macros. Pour nos clients, nous allons définir quels sont les
champs qui composent notre
table. Pour ce faire :
- En haut à gauche, cliquer sur la flèche du bouton Affichage,
- Dans la liste, cliquer sur Mode Création,
Access demande un nom pour cette table.
- Saisir Clients puis valider par Ok.
Vous basculez dans la vue du
mode création de la
table Clients, désormais listée explicitement dans la colonne de gauche. La création des
champs (Les en-têtes de colonne de votre tableau ) requiert deux informations pour chacun d'entre eux. Le
nom du champ et son
type dedonnées. Il est judicieux d'attribuer aux noms des champs, le préfixe du nom de la table. Vous le verrez, il sera ainsi plus facile de les manipuler via les requêtes notamment.
- A la place de N°, taper clients_num et enfoncer la touche Tabulation,
Vous vous retrouvez ainsi dans la colonne
Type de données.
Cette colonne représente un point crucial au moment où vous montez les
tables qui définissent l'ossature de votre
base de données. En effet ils permettent de dimensionner les champs en même temps que vous leur affectez un
type. Le
type doit toujours correspondre précisément à la nature de l'information qui sera saisie. Il peut s'agir d'un texte pour les noms, d'une date pour les dates d'achat, d'un nombre entier pour la quantité achetée etc... Mais ce n'est pas tout. Ces
champs ne doivent pas être dimensionnés trop grands. Car à chaque
champ,
Access alloue l'espace mémoire en conséquence pour le gérer. Si votre base est volumineuse et qu'elle traite beaucoup de données, un mauvais dimensionnement occasionnera des ralentissements, nuisibles pour votre site Web par exemple. Ainsi, un texte pour un nom pourra être limité à 20 ou 25 caractères. Un nombre entier pour une quantité achetée pourra être un
entier court ou un
Octet. Nous reviendrons sur ces notions fondamentales. Ici nous conservons le
type de données NuméroAuto. En effet, chaque client doit être unique. Le
NuméroAuto s'incrémente automatiquement et attribue un numéro unique à chaque nouveau client saisi. A ce titre, vous notez la présence d'une petite clé sur la gauche du nom du champ. Il s'agit d'une
clé primaire. Une
clé primaire n'autorise pas les doublons et permet de relier les tables entre elles. Chaque table devrait disposer d'une clé primaire. Poursuivons la création des
champs :
- Sur la ligne du dessous, créer le champ clients_nom,
- Lui affecter le type de données Texte court,
- En bas de la fenêtre, dans l'onglet Général des Propriétés du champ, régler la valeur de la propriété Taille du champ sur 25,
Pour ne pas être trop gourmand, nous limitons le nombre de caractères pour le nom du client. Nous essayons de dimensionner au plus juste et au plus judicieux comme nous l'avons expliqué avant.
- Créer ensuite le champ clients_prenom en Texte court et taille 25,
- Créer le champ clients_cp en Texte court et taille 5,
- Créer le champ clients_ville en Texte court et taille 25,
- Créer le champ clients_dateN en Date/Heure et Format Date, abrégé,
Le champ
clients_dateN est prévu pour la date de naissance du client. Vous notez que le champ
clients_cp est typé en texte et non en numérique. En effet, nous ne ferons jamais d'opération sur les codes postaux. De plus le champ texte permet de limiter la taille du champ à 5 caractères soit la taille exacte d'un code postal.
- Enregistrer cette table (CTRL + S),
Les objets créés comme les tables et formulaires doivent être enregistrées contrairement aux saisies qui se sauvegardent en temps réel comme nous l'avons expliqué plus haut.
- Cliquer sur le bouton Affichage en haut à gauche dans le ruban,
Vous basculez ainsi en mode feuille de données, le mode de saisie des données.
- Saisir quelques enregistrements comme le suggère la capture ci-dessous.
Pensez à utiliser la touche
tabulation pour passer au
champ suivant. Vous remarquez la limitation des
champs en taille. Si par exemple vous essayez de dépasser les 5 caractères pour la saisie d'un code postal, vous constatez que la saisie se bloque. Il s'agit donc d'une sécurité intéressante. Chaque nouvelle ligne (nouvel
enregistrement) s'accompagne de l'attribution automatique d'un nouveau numéro unique (clients_num). Ici les saisies sont enregistrées en temps réel sur le disque dur. Nous allons maintenant construire la
table Commandes. Nous allons volontairement la simplifier afin de nous concentrer exclusivement sur la philosophie de base de données pour l'instant. Nous limiterons donc le nombre de
champs.
- Fermer l'onglet de la table Clients en cliquant sur sa croix en haut à droite,
- Cliquer sur l'onglet Créer en haut de la fenêtre Access,
- Dans le ruban, cliquer sur le bouton Création de table,
Nous revenons ainsi dans le
mode Création de table dans lequel nous étions toute à l'heure. Chaque table doit avoir un identifiant unique :
- Créer le champ Commandes_num,
- Lui affecter le type de données NuméroAuto,
- Cliquer avec le bouton droit de la souris sur son entête de ligne,
- Dans le menu contextuel, cliquer sur Clé Primaire,
Vous voyez ainsi apparaître l'icône de la
clé primaire en regard du champ. Cette dernière permettra d'éviter de saisir des commandes en double.
- Créer ensuite le champ Commandes_client avec un type de données Numérique et une taille définie sur Entier long,
Ce champ numérique servira à faire le lien entre le client et ses commandes. La taille
Octet aurait été trop petite car un
octet permet la saisie d'un nombre de 0 à 255. Nous espérons bien avoir plus de 255 commandes. De plus comme ce champ va servir de liaison, il doit être du
même type que son parent (Clients_num) qui est un
Entier long.
- Créer le champ Commandes_total en numérique et de taille Réel simple,
Un
réel simple autorise les décimales pour les montants qui ne sont pas ronds.
- Créer le champ Commandes_date en Date/Heure et de format Date, abrégé comme toute à l'heure,
- Enregistrer cette table (CTRL + S) en la nommant Commandes,
Cette nouvelle table apparaît bien dans la liste des objets sur la gauche.
Nous ne devons pas saisir tout de suite dans la
table Commandes. Nous devons ajouter une sécurité qui empêchera toute saisie de commande n'appartenant à aucun client. Pour ce faire, nous allons établir une
relation entre ces deux
tables en appliquant l'
intégrité référentielle.
- Fermer la table Commandes en cliquant sur la croix de son onglet en haut à droite,
- Cliquer sur l'onglet Outils de base de données en haut de la fenêtre,
Dans le ruban, cliquer sur le bouton Relations,
Dans la boîte de dialogue qui apparaît, sélectionner les deux tables Clients et Commandes à l'aide de la touche CTRL et de la souris,
Cliquer sur le bouton Ajouter puis sur le bouton Fermer,
Les deux tables sont matérialisées côte à côte avec leurs noms de champs.
- Cliquer et glisser le champ Clients_num sur le champ Commandes_client,
Une boîte de dialogue s'affiche instantanément.
- Cocher les trois cases Appliquer l'intégrité référentielle, Mettre à jour en cascade... et Effacer en cascade...,
- Cliquer sur Ok pour valider.
Vous remarquez l'apparition d'un trait en biais reliant les deux champs des deux tables avec les symboles 1 et infini. Ils signifient tout simplement qu'un client peut passer un nombre de commandes illimité. A l'inverse une commande ne peut appartenir au plus et au moins qu'à un seul client. L'
intégrité référentielle est la sécurité Access qui empêchera d'attribuer une commande à un client qui n'existe pas. Autre avantage du
SGBDR,
base de données relationnelle, les actions en cascade. Par exemple, le fait de supprimer un client de la
table Clients, supprimera toutes ses commandes dans la
table Commandes (
Effacer en cascade).
- Enregistrer les relations (CTRL + S) et fermer son onglet,
- Dans la liste des objets sur la gauche, double-cliquer sur la table Clients,
Nous l'affichons ainsi en mode saisie.
- De la même façon, double-cliquer sur la table Commandes,
Les deux tables apparaissent ainsi côte à côte. Leurs onglets nous permettent de basculer facilement de l'une à l'autre.
- Saisir plusieurs commandes comme l'illustre la capture ci-dessous,
Faites-en sortes d'attribuer plusieurs commandes aux mêmes clients à l'aide des numéros de client. Tentez de même d'attribuer une commande à un client qui n'existe pas (Par exemple le numéro 7).
Vous constaterez le message d'erreur de l'
intégrité référentielle apparaître. La
relation entre les
tables nous empêche de commettre l'erreur d'associer une commande à un client qui n'existe pas. C'est donc une sécurité très importante pour ne pas risquer de perdre des traitements de commandes dans la nature.