Leçon 3 : Tables et enregistrements -Premiers pas

Temps nécessaire pour suivre cette leçon : Environ un quart d'heure

Pour suivre cette leçon, vous devez avoir suivi la leçon précédente. Mais c'était une leçon très courte visant simplement à créer une base de données qui s'appelle ProFormation.mdb. Avant d'aller plus loin vous devez donc ouvrir (si ce n'est déjà fait) cette base de données.

Aperçu de cette leçon

Dans cette leçon, vous allez apprendre a utiliser le premier grand objet d'Access : Les tables.
Nous allons notamment aborder le mode création et le mode saisie de données : Préparer le terrain, et entrer les données. Vous apprendrez ce qu'est un champ, et qu'il ne faut pas leur donner n'importe quel nom. Nous verrons qu'Access aime beaucoup les clés primaires, mais nous, pas encore.

Sommaire

  1. Noms de champs déconseillés
  2. Enregistrement des données de manière automatique
  3. Suppression de champs
  4. Enregistrement de la structure des tables
  5. QCM
  6. Exercice

Bien. Comment démarre-t-on?

Nous allons parler de clients. Simplement parce que les clients sont des entités faciles à gérer.

Contrairement à Word et Excel, où vous écririez directement les noms, prénoms et adresses de vos clients sans autre fome de procès, avec Access, vous allez devoir créer un "sous-objet" de la base de données ProFormation.mdb. Vous allez créer ce qu'on appelle une TABLE.

Cliquez 2 fois sur . Si vous avez Access 97, il vous faudra cliquer sur "Table" dans les onglets du dessus, et cliquer sur le bouton "Nouveau".

Vous êtes maintenant en mode création d'une nouvelle table qui n'a pas encore de nom.

Ecrivez NomClient et Prenom, comme ceci :

Pourquoi n'écrit-on pas directement les noms des clients ?

Parce que nous sommes en mode création.

C'est à dire que d'une manière générale, avec Access, il faut toujours savoir ce qu'on veut faire avant de le faire. Si nous avions travaillé avec Excel, vous auriez créé votre liste de client de cette manière :

C'est à dire que vous auriez écrit les titres de colonnes sur la première ligne, et ensuite, dans les lignes plus bas, vous auriez commencé à entrer les noms de vos clients.

Avec Access, vous devez définir cette première ligne de titre justement. Et nous allons utiliser de bons termes : NomClient et Prenom s'appellent des CHAMPS. Notre table est donc composée (pour l'instant) de 2 champs, et d'aucune donnée (C'est à dire qu'il n'y a encore aucun client dans la table - aucune donnée).


Noms de champs déconseillés

Pourquoi écrivez-vous NomClient et Prenom ? On ne pourrait pas mettre Nom et Prénom ?

L'expérience m'a montré qu'il est judicieux de respecter certaines règles :

- NomClient à la place de Nom : le mot "Nom" est un mot réservé d'Access, et l'utiliser comme nom de champ prête à confusion. C'est comme quelqu'un dont le nom de famille serait "Monsieur". Il peut s'appeler comme ça, mais il risque bien des problèmes avec les administrations : Monsieur Monsieur, ce n'est pas terrible...

- Prenom n'a pas besoin de s'appeler PrenomClient, car Prenom n'est pas un mot réservé. Constatez que j'évite l'accent (Prenom et non pas Prénom). C'est dû au fait qu'Access, dans sa version américaine, qui est la version originale, a été traduit ensuite en français, et les accents ne sont pas toujours très bien acceptés, dans certains cas très particuliers.

Dans le doute : pas d'accents.

Pour information, voici une liste (non exhaustive) de noms de champs que je déconseille :

Il y a d'autres noms qui sont des mots réservés comme Form, ou Maintenant par exemple, mais je ne vas pas vous dresser la liste complète des mots réservés d'Access : La petite liste juste ici plus haut est simplement la liste des champs qu'on aurait envie d'utiliser.

Concernant les espaces, "NomClient" plutôt que "Nom client", c'est pour une raison similaire. Si vous utilisez des espaces dans les noms de champs, vous aurez quelques problèmes lorsque vous utiliserez Access de manière avancée. Je ne vous en dit pas plus pour l'instant, mais prenez les bonnes habitudes dès le départ.

Les majuscules au début de chaque mot (NomClient plutôt que nomclient) sont là uniquement pour garder une certaine lisibilité.

Bien. Maintenant, j'aimerais injecter mes clients : Alain Dalon et Jean-Paul Brulmondo. Comment faire ?


Mode saisie de données

Pour entrer des clients proprement dit, il va falloir visualiser la table en MODE SAISIE DE DONNEES. Vous cliquez sur l'icône (en haut à gauche de votre écran)

Il vous demande

Répondez OUI

Il vous demande d'enregistrer la table. Appelez-là T_Client et cliquez sur OK.


Conventions de nommage

Pourquoi T_Client et pas Liste de clients ?

Access ne vous empêchera pas de donner le nom que vous voulez à vos tables. L'expérience m'a toutefois montré qu'il était vivement recommandé d'avoir des normes :

  1. Pourquoi "T" au début ?
    Parce que c'est une Table
  2. Pourquoi pas ListeDeClients ?
    Il n'est pas judicieux d'ajouter des mots un peu "gratuitement"
  3. Pourquoi "_" entre T et Client ?
    Parce que les espaces sont souvent gênants dans les noms des tables et des champs, un tiret peut être confondu avec le signe Moins, et si c'était tout collé, ça enlèverait de la lisibilité
  4. Pourquoi pas T_Clients ? Il y en a quand même plusieurs, des clients ...
    Dans une utilisation avancée d'Access, il est des cas ou on doit plus ou moins connaître par coeur les noms des ses tables et des champs. Il arrive toujours un moment ou on se demande si on a mis un "S" ou pas. En bannissant systématiquement tous les pluriels, je gagne en confort (bien des erreurs sont évitées, croyez-moi !)

Revenons à nos moutons :

Ensuite il vous conseille fortement d'installer une clé primaire :

A l'avenir, il faudra TOUJOURS répondre NON à cette question. Uniquement pour voir ce qui se passe si on répond Oui, répondez OUI.

Vous vous retrouvez alors dans cette situation :

La première colonne (N°) qui contient NuméroAuto, est le champ qu'Access a ajouté quand vous avez répondu Oui à la question précédente.

Cliquez sur la case blanche juste en dessous de NomClient, et écrivez Dalon :

Vous avez peut-être juste eu le temps de constater que dès que vous avez écrit le D de Dalon, il vous a créé une nouvelle ligne juste en dessous, et que le NuméroAuto s'est mis à 1. Pour inscrire le prénom de Dalon, soit vous cliquez sur la case en dessous de Prenom, soit vous appuyez sur la touche Tabulation . Ecrivez-y Alain :

En dessous d'Alain Dalon, ajoutez Jean-Paul Brulmondo :

Et là, je peux écrire Jean-Paul avec un tiret, je ne dois pas écrire JeanPaul ?

Oui. Il s'agit de Données. Les données peuvent contenir tout ce que vous voulez : Des espaces, des accents, des tirets, etc. Heureusement, parce que sinon ce ne serait vraiment pas pratique.

Est-ce qu'il y a une limite au nombre de clients que je peux mettre ?

Avec Excel, vous seriez limité à 65535 clients (puisqu'il y a 65'536 lignes à votre disposition)... Avec Access, vous n'avez pas vraiment de limite.

La seule limite théorique est que la base de données ne doit pas dépasser un GB... Mais si vous atteignez des tailles aussi monstrueuses, votre système ne vous suffira certainement plus, et il faudra passer à une architecture plus imposante avec des serveurs dédiés et un programme tel qu'Oracle ou SQL Server... Vous n'en êtes pas là !


Enregistrement des données de manière automatique

Et maintenant, je suppose que je dois enregistrer mes deux clients, comme dans Excel ?

Et bien non ! Justement, c'est un des nombreux atouts d'Access ! Vous ne devez pas enregistrer ! Il sauvegarde tout seul, comme un grand !

La preuve ? Quittez Access ! (Fichier/Quitter)

Il ne vous demande absolument rien ! Il ne vous prévient même pas que vous allez quitter le programme... Et pourtant vos deux clients sont bel et biens sauvgardés. Relancez Access.

Choisissez votre base de données et cliquez sur OK.

Double-cliquez sur . Vous revoilà dans votre table. Vous constatez que vos données ont été bien enregistrées :

Parfait ! On peut enlever ce champ N° ?

Oui. Sans le moindre problème. Pour ce faire, il faut que nous retournions dans notre table T_Client en mode Création. Pour ce faire vous cliquez sur l'icône (en haut à gauche)

Vous vous retrouvez ici :


Suppression de champs

Pour supprimer le champ N°, vous cliquez avec le bouton droit de la souris à côté sur la petite clé, et vous choissez Supprimer les lignes.

à la question , répondez Oui. C'est simplement une demande de confirmation de suppression. Si vous aviez supprimé le champ NomClient par exemple, et que vous aviez déjà rentré seize mille clients, vous allez les effacer d'un seul coup en supprimant le champ. Sans espoir de retour en arrière! Alors remercions Access de bien nous mettre en garde.

A la 2ème question , répondez également Oui. Ah il nous en veut avec sa clé primaire ! Nous y reviendrons.

Vous vous retrouvez maintenant dans la situation de départ : .

Je peux aller revoir mes clients maintenant ?

Oui. Cliquez sur (en haut à gauche). Il vous redemande si vous voulez enregistrer.


Enregistrement de la structure des tables

Oui. C'est bizarre... Vous n'aviez pas dit qu'il enregistrait automatiquement ?

Ce sont les DONNEES qui s'enregistrent automatiquement. Ici, le changement que vous venez d'effectuer est au niveau de la STRUCTURE de la table (enlever un champ). Et ça, il faut l'enregistrer !

Constatez maintenant que l'icône s'est transformée en . Cliquez dessus, HOP, vous revenez en mode création, et l'icône s'est retransformée en . En fait, vous retournez la table "comme une chaussette"... Un coup vous êtes en mode création , et vous avez l'icône qui apparaît, et si vous cliquez dessus, vous êtes en saisie de données , et vous avez l'icône pour revenir en mode création. Et vice versa ! Et inversement !

Bon... Hem... On peut résumer ?

Vous avez créé au tout début une base de données appelée ProFormation.mdb (ProFormation est le petit nom de votre base de données). MDB est l'extension d'Access (Microsoft Data Base). Vous étiez obligé de la nommer immédiatement, sinon Access refuse de travailler !

ProFormation contient une seule table appelée T_Client, qui contient elle-même 2 champs : NomClient et Prenom. Ces champs contiennent des données que l'on appelle des enregistrements. Il y a 2 clients, donc il y a 2 enregistrements : Alain Dalon et Jean-Paul Brulmondo. Ces données s'enregistrent automatiquement, contrairement à la structure de la table (les champs : ajout, suppression, changement) qui eux, doivent être enregistrés manuellement.

ProFormation va petit à petit s'enrichir et contenir d'autres tables, mais aussi bien d'autres choses.

Avez-vous bien compris ?

  1. Combien de clients peut-on mettre dans une table ?
    a. 65535
    b. Autant qu'on veut tant que la table ne dépasse pas 1GB***
    c. Un million

  2. Je désire établir une table de mes amis. Comment est-il conseillé de la nommer ?
    a. Table des amis
    b. T_Ami***
    c. Table1
    d. tamis

  3. Avec Access, il y a quelque chose qui est enregistré automatiquement sans qu'on ait à s'en soucier, ce sont :
    a. Les tables
    b. La base de données elle-même
    c. Les données qu'on entre dans les tables***
    d. Tout s'enregistre automatiquement

  4. Qu'est-ce que le "mode création" d'une table ?
    a.C'est quand on veut ajouter, supprimer ou modifier les champs***
    b.C'est quand on modifie les données
    c.C'est quand on a pas encore créé de table

  5. Un de ces noms de champ n'est pas déconseillé. Lequel ?
    a. Type
    b. Date
    c. DateValidite***
    d. Index

  6. Que se passe-t-il si vous effacez un champ ?
    a. Access refusera de l'effacer s'il contient des données
    b. Les données de ce champ seront effacées (après avertissement d'Access)***
    c. Le champ sera effacé, mais les données resteront en place

Pour voir les solutions, il vous suffit de sélectionner le questionnaire ci-dessus : 3 petites étoiles *** apparaîtront en face des bonnes réponses.

Exercice

Créez une nouvelle base de données que vous appellerez MaBase.MDB. Dans cette nouvelle base de données, vous allez y créer une table que vous appellerez T_Copain. Dans cette table, vous installerez 2 champs : NomCopain et NoTelephone. Une fois ceci fait, vous lancez cette table en mode saisie de données (c'est à ce moment qu'il faudra la nommer T_Copain), vous refuserez la clé primaire qu'il vous propose, et vous rentrerez les 2 copains suivant : Robert, numéro de téléphone : (079)345.66.74 et Raymond, Numéro de téléphone 345.66.88

Téléchargez la solution de l'exercice ici

Si vous n'êtes pas tout à fait certain d'avoir suivi correctement toutes les étapes de cette leçon, vous avez la possibilité de télécharger ici la version de ProFormation.mdb (nommée lecon3.mdb) exactement dans l'état ou elle devrait être à la fin de cette leçon. Besoin d'aide pour le téléchargement ? : Cliquez ici.

Avez-vous une question technique concernant cette leçon ? Cliquez ici !
Une remarque sur cette leçon ? Un problème ? Une erreur ? une ambiguité ? Soyez gentil de m'en informer