Leçon 2
 
Tables et enregistrements : vue d'ensemble

Dans cette leçon, nous allons créer notre première table dans notre base de données Formagiciel.

Nous allons y créer deux champs, tous simples, et nous allons y entrer quelques personnes (clients).

Nous parlerons un peu de vocabulaire et nous verrons à quel point la sauvegarde est facile avec Access !

 
Sommaire

Lors de la précédente leçon, nous avons appris à créer un fichier de bases de données, complètement vide, que nous avons appelé Formagiciel.accdb.

Ouvrez cette base de données, ou, si vous ne l'avez pas fait, créez une nouvelle base de données que vous appellerez donc . Formagiciel.accdb.

 

Bien. Vous êtes donc dans cette base de données complètement vide.

 

Comme je vous l'ai dit, Access va nous permettre de gérer absolument n'importe quoi ! Or, dans une majorité de bases de données "commerciales", il va y avoir une liste de clients.

Formagiciel, qui sera donc une gestion d'école pour adultes, contiendra également une liste d'élèves, qui pourraient aussi être appelés "clients", quelque part...

Nous allons donc, pour commencer, créer une liste de clients. Une "Table" des clients.

Création de notre première table

Dans le ruban Créer, cliquez sur Création de table :

 

Vous obtenez cet affichage :

1 : Un ruban contextuel est apparu. Il apparait avec le titre en jaune Outils de table. Il contient tous les boutons (outils) nécessaire à la gestion de la table. C'est un ruban qui n'est utile que dans ce contexte, et il disparaît quand on quitte la table.

2 : C'est la table que nous venons de créer en mode création (nous allons voir ce que ça veut dire)

3 : Cette feuille des propriétés est la liste de toutes les propriétés de la table. Nous verrons ce que sont les propriétés un peu plus tard.

 

Nous allons nous occuper de la zone 2.

Si vous désirez créer une liste de clients avec Excel, voici comment vous la concevriez :

Vous écririez les titres dans la première ligne (Politesse, Nom, Prénom, etc.), et vous commenceriez à entrer les clients à partir de la 2ème ligne.

Constatez que mes clients sont prestigieux : Edith Piaf, Elvis Presley, Steven Spielberg 

Le fait d'utiliser des noms de célébrités est simplement plus facile "mnémotechniquement" pour suivre le cours.

Champs et enregistrements

Avec Access, cette première ligne est appelée Liste des champs (Excel appellera cette ligne "ligne de titre"). Politesse est donc un champ. Nom, prénom, Domaine, sont d'autres champs.

Familiarisez-vous avec ce vocabulaire, sinon, vous risquez de graves confusions, surtout si vous cherchez des renseignements sur Google, ou si vous parlez avec un autre concepteur Access !

Toute la ligne 2 ou 3, ou 4 ou n'importe laquelle, est appelée enregistrement.

Madame ou Presley ou Steven sont également des champs. Disons que Prénom est plutôt le titre du champ, et Steven est le contenu du champ.

En bref, Une base de données contient un certain nombre de tables. Chaque table contient un certain nombre de champs, et chaque table contient un certain nombre d'enregistrements.

Seuls les paysans mettent l'étable dans les champs, nous, on fait l'inverse : on met les champs dans les tables !

 

Nous allons donc définir quelques champs de notre table, comme ceci : Ecrivez NomClient, et appuyez sur la touche flèche vers le bas de votre clavier (et pas la touche Enter).

 

Il vous a défini NomClient en tant que Texte (nous verrons plus tard ce que ça signifie), et il fait clignoter le curseur dans le 2ème champ.

Répétez l'opération avec le champ Prenom :

Constatez que j'ai utilisé NomClient, et pas Nom. J'ai aussi écrit Prenom à la place de Prénom.

Syntaxe conseillée

Avec l'expérience, j'ai constaté qu'il était très pratique de se plier à certaines règles syntaxiques.

Nom est un mot-clé utilisé par Access. Du coup, utiliser Nom comme nom de champ, c'est vraiment chercher la m... les problèmes ! Du coup, voici la list des noms de champs que je déconseille fortement pour la même raison :

Lorsque nous faisons référence à un nom de champ pourvu d'espaces dans une requête, formulaire ou état, nous devrons l'encadrer [de crochets].

Pourquoi NomClient plutôt que Nom Client (Avec un espace) ?

Simplement parce que nous bénéficierons de certaines facilités à ne pas mettre d'espace, plus tard dans ce cours.

Et pourquoi pas Nom-Client ?

Parce que le tiret est également compris comme le signe "moins", ce qui peut créer des problèmes.

Et pourquoi pas Nom_Client ?

Parce que je trouve que ça rallonge inutilement le champ d'un caractère.

Et pourquoi pas nomclient ?

Parce que je trouve que c'est plus lisible avec une majuscule au début de chaque mot.

Je parle bien des noms de champs, pas des contenus ! Si vous devez écrire Frédéric dans le champ Prenom, vous écrirez bien Frédéric, pas Frederic, évidemment !

Et pourquoi pas Prénom ?

Parce qu'Access est un logiciel américain, écrit en anglais, à la base. Les accents sont typiques de la langue française (et d'autres). Comme il arrive parfois à Access de planter (comme tout programme), si on évite les accents dans les noms de tables et de champs, ça évite de nous poser la question : "Si ça se trouve, ça se plante à cause des accents !", tout bêtement.

Dans le même ordre d'idée, fuyez comme la peste des noms de champs comportant des caractères spéciaux comme %, (, /, &, *, # etc.

Nous allons maintenant enregistrer cette table.

 

Cliquez sur la petite disquette en haut à gauche de votre écran. Vous avez alors une boîte de dialogue qui apparaît.

 

Ecrivez T_Client, et cliquez sur OK.

Vous pouvez aussi utiliser le très pratique raccourci-clavier à la place de la disquette.

Pourquoi faut il cliquer sur une disquette pour enregistrer ?

Ca date des années 1980-1990. A l'époque, on n'enregistrait pas forcément sur un disque dur, mais sur une sorte de petite disquette en plastique de 10CM X 10CM. Bien qu'aujourd'hui, ces disquettes aient complètement disparu, on a gardé le symbole qui veut dire "Enregistrer".

On aurait pu appeler cette table autrement : Liste des clients, table des clients, Tableau Clients, ou même Mes clients qui me sont précieux.

Pourquoi appeler cette table T_Client ?

Pourquoi pas T_Clients ? Il va y avoir plusieurs clients, dans cette table, non ?

Oui, mais quand nous serons bien plus avancé dans notre apprentissage, nous constaterons qu'il est bien pratique de connaître à peu près par coeur les noms de nos tables de champs. Si à tout moment, je dois me demander "Zut ! Je ne me rappelle plus si j'ai mis un "s" ou pas à cette table", ça va devenir pénible. Je ne mets ainsi jamais de pluriel, même si ça fait "bizarre".

Pourquoi pas TClient ?

Parce que j'aime bien le petit T de Table qui soit détaché du reste, pour une question de lisibilité. Nous aurons ainsi ensuite des requêtes qui commenceront par R_, des formulaires par F_ et des états par E_.

Pourquoi pas Table_Client ?

Parce que je trouve que c'est trop long...

 

Contrairement à ce qu'il vous propose, vous devez répondre non à cette question ! Si vous répondez oui, il va vous créer un nouveau champ de numérotation automatique, mais nous n'en avons pas besoin pour le moment.

Maintenant, il vous pose une grosse question, qui a l'air bien compliquée, et, surtout, il nous recommande très, très, très chaudement d'accepter ! Mais non !!!

Nous verrons cette histoire de clé primaire bien plus tard, dans la leçon 15.

Maintenant, votre table s'appelle T_Client, que l'on voit ainsi :

Mode "création" et mode "Saisie de données"

Il s'agit maintenant d'entrer des données dans notre table ! Actuellement, T_Client est en Mode Création (On y crée les champs). Nous allons la basculer en Mode Saisie de Données (On va y remplir les champs). Pour ce faire,

cliquez sur le bouton Affichage.

A présent, vous vous trouvez dans T_Client en mode saisie de données.

C'est à dire que vous allez pouvoir saisir des clients. Constatez que le bouton sur lequel vous venez de cliquer a changé d'aspect :

il prend maintenant la forme d'une équerre. Si vous cliquez sur cette équerre, vous revenez en mode création. Et le bouton change à nouveau de forme : recliquez dessus et vous êtes à nouveau en mode saisie de données

Vous avez compris le principe ? On passe ainsi d'un mode à l'autre à l'aide d'un seul bouton.

Maintenant, Nous allons entrer une cliente : Edith Piaf.

 

Cliquez ici :

 

A l'instant ou vous écrivez le P de Piaf, voici ce qui se passe :

Déplacement dans les champs à l'aide du clavier

Terminez d'écrire le nom (Piaf), et appuyez sur (Tabulation) pour vous positionner dans le Prenom, et écrivez Edith.

Nous allons entrer un deuxième client. Pour vous positionner sur le 2ème nom (Sous Piaf), vous avez plusieurs possibilités :

  • Appuyez encore une fois sur
  • Appuyer sur la touche , puis sur
  • ... Ou simplement cliquer avec la souris en dessous de Piaf, évidemment !

 

 

Dès que vous changez d'enregistrement pour aller sur un nouveau, le petit crayon disparaît, et la petite étoile devient orange:

Symboles d'enregistrements

Entrez Elvis Presley comme 2ème client, et Steven Spielberg comme 3ème client.

 

Regardez dans la marge gauche, ce que veulent dire les symboles :

  • Les carrés gris pour les enregistrements existants
  • le petit crayon pour l'enregistrement sur lequel on travaille
  • une étoile pour un nouvel enregistrement
  • des carrés très clairs pour montrer qu'on peut ajouter plein de clients.

Sauvegarde des enregistrements

Bien. Maintenant, comment fait-on pour sauvegarder ces enregistrements ? Il faut cliquer sur la disquette ?

Eh bien non !

C'est une des grandes forces d'Access : les enregistrements se sauvegardent automatiquement, sans que vous ayez besoin de le préciser.

Faisons un test pour prouver ça !

 

Fermez Access :

S'il vous demande si vous désirez enregistrer la table, c'est peut-être que vous avez élargi ou rétréci les colonnes, ou fait quelque chose de spécial sans vous en rendre compte. Mais même dans ce cas, si vous répondez Non, les données seront quand même enregistrées (je parle bien de nos trois clients).

 

 

Normalement, il ne doit vous poser aucune question, et fermer immédiatement Access.

 

 

Maintenant, rouvrez Formagiciel. Cliquez deux fois sur T_Client pour l'ouvrir en mode saisie de données : Vos trois clients sont bien présents :

 

Nous verrons plus en détail dans la leçon suivante ce système d'enregistrements.

La taille maximum d'une base de données Access est de 2GB, ce qui est énorme ! Il n'y a pas de limite à proprement parler du nombre d'enregistrements du moment qu'on ne dépasse pas les 2GB. Avec Excel 2003 (et antérieur), vous aviez droit à 65'000 lignes, et à partir d'Excel 2007, vous en avez droit à un peu plus d'un million.

Bien.

Nous arrivons au terme de cette deuxième leçon.

Avant de passer à l'exercice et au quizz qui va vous être proposé un peu plus bas, vous avez la possibilité, en cas de besoin, si vous n'êtes pas certain d'avoir fait exactement tout ce qui était proposé dans la leçon, de télécharger la base de données Formagiciel en utilisant le petit bouton juste ici en dessous. Dans chaque leçon, vous aurez cette même possibilité.

Chaque version de Formagiciel téléchargeable en bas de chaque leçon, ne s'appellera pas Formagiciel, mais s'intitulera "Lecon002.accdb", puis "Lecon003.accdb", et ainsi de suite de leçon en leçon.

Rien ne vous empêche de renommer "Lecon002.accdb" en "Formagiciel.accdb" si le coeur vous en dit. A vous de vous organiser le mieux possible.

Dans cette leçon, nous avons créé une première table : T_Client. Nous y avons inclu deux champs, et 3 enregistrements (clients). Je vous ai donné quelques conseils de syntaxe, et nous avons vu comment Access sauvegarde les données de la table.

Exercice

Créez un nouvelle base de données complètement vide, que vous appellerez ExerciceLecon002.accdb

Dans cette base de données, vous créerez une table que vous appellerez T_Copain.

Dans cette table, vous créerez Trois champs :

  • NomCopain
  • Prenom
  • TelPortable

Ensuite, vous y créerez deux enregistrements : deux copains réels à vous, avec leur vrais numéro de téléphone portable.

Quizz
1. Un de ces noms de champs est déconseillé, lequel ?
AccessName
Structure
Date
DateName

Warning: Undefined variable $Q1 in /home/clients/a41d66f74bcbcbdeacff232fbcd0dcfe/web/access/cours2010/lecon002/index.php on line 394

Deprecated: strspn(): Passing null to parameter #2 ($characters) of type string is deprecated in /home/clients/a41d66f74bcbcbdeacff232fbcd0dcfe/web/access/cours2010/lecon002/index.php on line 394

Warning: Undefined variable $Q1 in /home/clients/a41d66f74bcbcbdeacff232fbcd0dcfe/web/access/cours2010/lecon002/index.php on line 395

Deprecated: strspn(): Passing null to parameter #2 ($characters) of type string is deprecated in /home/clients/a41d66f74bcbcbdeacff232fbcd0dcfe/web/access/cours2010/lecon002/index.php on line 395
2. Le "mode création" permet (entre autre) :
D'effacer des enregistrements
De modifier le nom d'un champ
De supprimer une table
De renommer une base de données

Warning: Undefined variable $Q2 in /home/clients/a41d66f74bcbcbdeacff232fbcd0dcfe/web/access/cours2010/lecon002/index.php on line 417

Deprecated: strspn(): Passing null to parameter #2 ($characters) of type string is deprecated in /home/clients/a41d66f74bcbcbdeacff232fbcd0dcfe/web/access/cours2010/lecon002/index.php on line 417

Warning: Undefined variable $Q2 in /home/clients/a41d66f74bcbcbdeacff232fbcd0dcfe/web/access/cours2010/lecon002/index.php on line 418

Deprecated: strspn(): Passing null to parameter #2 ($characters) of type string is deprecated in /home/clients/a41d66f74bcbcbdeacff232fbcd0dcfe/web/access/cours2010/lecon002/index.php on line 418
3. Je suis en train de créer un nouveau client : Jean Dupont. Juste avant d'appuyer sur la touche du clavier "t" final de Dupont, quel est le symbole qui est affiché sur la gauche de cet enregistrement ?
Une équerre
Un simple rectangle gris vide
Un petit crayon, avec trois petits points à côté
Une étoile
Un gros cercle noir

Warning: Undefined variable $Q3 in /home/clients/a41d66f74bcbcbdeacff232fbcd0dcfe/web/access/cours2010/lecon002/index.php on line 445

Deprecated: strspn(): Passing null to parameter #2 ($characters) of type string is deprecated in /home/clients/a41d66f74bcbcbdeacff232fbcd0dcfe/web/access/cours2010/lecon002/index.php on line 445

Warning: Undefined variable $Q3 in /home/clients/a41d66f74bcbcbdeacff232fbcd0dcfe/web/access/cours2010/lecon002/index.php on line 446

Deprecated: strspn(): Passing null to parameter #2 ($characters) of type string is deprecated in /home/clients/a41d66f74bcbcbdeacff232fbcd0dcfe/web/access/cours2010/lecon002/index.php on line 446
4. Je viens d'entrer un nouveau client : "Jean Dupont". Je dois enregistrer ce nouveau client. Comment dois-je procéder ?
Je dois appuyer sur CTRL-S, sinon, il ne s'enregistrera pas
Je dois cliquer sur la disquette, sinon il ne s'enregistrera pas.
Je peux appuyer sur CTRL-S, ou cliquer sur la disquette si ça me chante, mais de toute façon, mon client sera enregistré dès que je quitte l'enregistrement ou la table.

Warning: Undefined variable $Q4 in /home/clients/a41d66f74bcbcbdeacff232fbcd0dcfe/web/access/cours2010/lecon002/index.php on line 467

Deprecated: strspn(): Passing null to parameter #2 ($characters) of type string is deprecated in /home/clients/a41d66f74bcbcbdeacff232fbcd0dcfe/web/access/cours2010/lecon002/index.php on line 467

Warning: Undefined variable $Q4 in /home/clients/a41d66f74bcbcbdeacff232fbcd0dcfe/web/access/cours2010/lecon002/index.php on line 468

Deprecated: strspn(): Passing null to parameter #2 ($characters) of type string is deprecated in /home/clients/a41d66f74bcbcbdeacff232fbcd0dcfe/web/access/cours2010/lecon002/index.php on line 468