Leçon 5: Gestion des enregistrements

Temps nécessaire pour suivre cette leçon : Entre un quart d'heure et une demie heure

Pour suivre cette leçon, vous devez avoir suivi les leçons précédentes. Ou plus précisément, vous devez être en possession de la base de données ProFormation.mdb telle qu'elle était à la fin de la leçon précédente. Si vous n'êtes pas certain de l'avoir, vous pouvez la télécharger ici. Besoin d'aide pour le téléchargement ? : Cliquez ici.

Aperçu de cette leçon

Dans cette leçon, nous allons provisoirement laisser tomber ces types de données pour nous concentrer sur la gestion des enregistrements : Comment Access sauvegarde-t-il les enregistrements ? Comment les effacer ? Comment les dupliquer ?

Sommaire

  1. Symboles d'enregistrement automatique : Le petit crayon et la petite flèche
  2. Evénements qui forcent l'enregistrement automatique des données
  3. Suppression d'enregistrements : La bonne et la mauvaise façon
  4. Annulation de saisie de données avec la touche ESC, et limites d'annulation
  5. QCM
  6. Exercice

Vous avez dit qu'Access sauvegarde automatiquement les enregistrements ? On ne peut ni on ne doit les enregistrer manuellement alors ? Comment cela se passe-t-il exactement ?

Nous allons faire une démonstration éloquente pour montrer exactement comment Access effectue la sauvagarde des enregistrements. Ouvrez votre base de données ProFormation si ce n'est déjà fait, et lancez la table T_Client en mode saisie de données. Voici ce que vous devriez avoir sous les yeux :


Symboles d'enregistrement automatique : Le petit crayon et la petite flèche

Nous allons nous intéresser à cette petite colonne de gauche : . C'est dans ces petites cases que nous allons constater l'enregistrement. Cliquez sur le mot "Dalon" (Alain Dalon). Vous constatez que maintenant, il y a une petite flèche qui est apparue sur la gauche : . Allez à la fin du mot Dalon, et ajoutez la lettre s, comme ceci : . Constatez qu'instantanément, la petite flèche () s'est transformée en petit crayon qui écrit (). Ceci veut dire que le "s" que vous avez rajouté à Dalon n'est PAS ENCORE enregistré. En d'autres mots, si juste maintenant, il y avait une panne de courant, toute votre table serait correctement sauvagardée MAIS le "s" de Dalon aurait disparu.

Pour l'enregistrer, c'est extrêmement simple : Il suffit de cliquer sur un autre enregistrement. Par exemple, cliquez sur "Bill" (De Bill Clunton) : . Vous constatez que maintenant le crayon a disparu de devant Alain Dalon, et qu'une flèche est apparue devant Bill Clunton. Ca veut dire que OK, le s est maintenant enregistré, à l'instant précis ou vous avez quitté l'enregistrement Alain Dalon. Maintenant, s'il y avait une coupur de courant, tout serait correctement enregistré, y compris le "s" de Dalons.

Donc, tant qu'on ne change pas d'enregistrement, Access ne sauvegarde pas les changements ?

Absolument. Nous allons faire un test. Cliquez à la fin de Jordin : ajoutez lui la lettre "t". Cliquez ensuite sur Michael, et remplacez son prénom par "Robert" : . Tant que vous restez dans le MEME enregistrement, le crayon () ne disparait pas. Vous pouvez faire des changements chez M. Jordint tant que vous voulez pendant des heures, Access ne enregistrera pas votre enregistrement !

C'est la seule technique pour enregistrer, changer d'enregistrement ?

Non. En fait, l'enregistrement s'effectue lorque vous effectuez l'une de ces actions suivantes :


Evénements qui forcent l'enregistrement automatique des données

Ah d'accord. En fait, finalement, on n'a pas vraiment besoin de s'en occuper, il y aura bien un moment ou il va enregistrer !

Absolument, vous avez tout à fait raison.

Mais si je voulais malgré tout enregistrer mon enregistrement manuellement, je suppose que je peux utiliser les bonnes vieilles méthodes que je connais : Fichier/Enregistrer, cliquer sur la petite disquette, ou faire CTRL-S ?

NON ! Absolument pas. Ca ne marche pas. Faites l'expérience suivante si vous ne me croyez pas : Remplacez Bill par William : , et allez directement cliquer sur la petite disquette (). Constatez qu'à côté de Clunton, il y a TOUJOURS le petit crayon . Il ne s'est pas transformé en flèche . Il n'est donc pas enregistré.

Mais alors elle sert à quoi la petite disquette ?

En mode saisie de données, à pas grand chose. En mode création, elle sert à enregistrer la table : Pas les données, mais la STRUCTURE (Le fait d'ajouter des champs, les modifier, ajouter des paramètres comme Légende, Valide Si, etc.). Mais on ne l'a jamais utilisée jusqu'à présent, car on s'est contenté de passer directement en mode saisie de données, et de répondre Oui quand Access nous informe que la table doit d'abord être enregistrée (Comme si vous étiez dans Word ou Excel, et que vous ne Enregistrez pas avec la petite disquette, mais que vous attendez de fermer le document pour répondre Oui à la question "Voulez-vous enregistrer vos modifications ?").

OK. Donc, il n'y a pas de méthode pour enregistrer les enregistrements alors, aucune utilité si je comprend bien ?

Allez, puisque vous insistez, je vous donne les manières d'enregistrer :

Première manière

Cliquer sur le petit crayon . Toute la ligne devient noire (En fait vous avez sélectionné l'enregistrement - un peu comme dans Excel si vous cliquez sur un numéro de ligne, c'est toute la ligne qui est sélectionnée). Et, SURTOUT, le petit crayon s'est transformé en flèche ! L'enregistrement est enregistré.

Deuxième Manière

Utilisez le raccourci claviet : SHIFT ENTER

Oui, c'est comme CTRL-S ?

NON NON NON, CTRL-S va enregistrer la STRUCTURE de la table, SHIFT-ENTER va enregistrer l'ENREGISTREMENT sur lequel vous êtes.

On va refaire un petit test : Remplacez William par Alfred. Vous avez donc bien le petit crayon. Faites CTRL-S : Le petit crayon est toujours là. Faites SHIFT ENTER : Et hop ! Le petit crayon s'est transformé en flèche !

Et si je veux supprimer un client, comment je fais ?


Suppression d'enregistrements : La bonne et la mauvaise façon

Et bien, justement, vous cliquez sur la partie de gauche de l'enregistrement que vous voulez effacer. Essayons d'effacer Alain Dalons : Cliquez d'abord dans la petite case grise à gauche de Alain. La ligne devient noire, et pressez la touche DEL : . Access vous demande de confirmer la suppression du client : . Dites Oui.

Pour effacer plusieurs enregistrements, pas de problème, vous pouvez en sélectionner plusieurs à la fois en faisant glisser la souris !

Voilà. L'enregistrement est supprimé. Attention toutefois, comme il est indiqué dans le message d'attention : "Vous ne pourrez plus annuler ce changement". Donc, une fois le client supprimé, pas question d'essayer de faire Edition/Annuler. Contraieent aux autres programmes qui vous permettent d'annuler autant de fois que vous voulez, Access accepte PARFOIS une seule annulation, et d'autres fois, comme ici, pas d'annulation du tout ! Ca peut être considéré comme un inconvérnient, mais c'est un principe inhérent à tous les systèmes de bases de données.

Attention également : Une erreur fréquente consiste à effacer les enregistrements champ par champ. Je m'explique : Pour effacer Alain Dalons, on sélectionne en noir Alain, puis on efface Alain avec Delete. Ensuite, on sélectionne Dalons, et on fait Delete. Puis on sélectionne sa taille et on fait Delete. C'EST FAUX ! ARCHI FAUX ! En faisant comme ça, tout ce que vous ferez, c'est créer un eclient tout vide, et vous aurez un "Trou" dans votre table, comme ceci : . C'est nul ! Rappelez-vous bien qu'il faut TOUJOURS sélectionner toute la ligne en noir en cliquant à gauche, et en appuyant sur Del . Et si ce n'est pas vous qui saisirez les données, expliquez bien à la personne qui en sera responsable comment effacer correctement les enregistrements.

On peut effacer un enregistrement qui n'a pas encore été enregistré ?

C'est une question intéressante. Actuellement, vous avez sous les yeux normalement cette table : .

Remplacez Jordint par A, Robert par B, et 210 par 155, comme ceci : , en faisant bien attention de ne PAS changer d'enregistrement, le petit crayon devant rester visible sur la gauche.

Comme l'enregistrement n'est PAS encore enregistré, il est possible non pas d'effacer cet enregistrement, mais d'ANNULER les changements effectués


Annulation de saisie de données avec la touche ESC, et limites d'annulation

Appuyez UNE fois sur ESC . Vous constatez que 155 s'est retransformé en sa valeur d'avant : 210 : . Le crayon reste

Appuyez maintenant une DEUXIEME fois sur ESC . Maintenant, c'est toute la ligne qui a repris l'état d'avant . Et le petit crayon s'est retransformé en petite flèche .

C'est une bonne combine, l'utilisation de ESC quand on écrit par erreur sur des données déjà existantes : Une fois ESC et c'est le champ en cours qui est annulé, une 2ème fois, et c'est toute la ligne qui reprend son état initial.

On peut utiliser cette astuce du ESC quand on a déjà enregistré (qu'on a changé d'enregistrement par exemple) ?

Alors là, non, pas du tout. Nous allons d'ailleurs tenter l'expérience. Votre table ressemble normalement à ceci : . Remplacez Jordint par Redford : . Enregistrez cet enregistrement avec SHIFT ENTER par exemple. Vous avez alors la petite flèche qui montre que l'enregistrement est enregistré : . Appuyez maintenant autant de fois que vous voulez sur ESC . Rien n'y fera. ça ne fonctionne plus.

C'est foutu alors ?

Non ! Dans ce cas, vous pouvez faire Edition/Annuler ! Quand vous effacez un enregistrement, vous ne pouvez pas, mais quand vous modifiez un enregistrement, vous pouvez le faire UNE fois ! Allez y. Faites Edition/Annuler : .

J'ai bien dit que vous ne pouviez le faire qu'une seule fois. Essayez l'expérience suivante :

  1. Remplacez Brulmondo par Sartre
  2. Enregistrez votre modification avec SHIFT ENTER
  3. Remplacez Surtre par Durand
  4. Enregistrez votre modification avec SHIFT ENTER
  5. Faites Edition/Annuler : Vous revenez de Durand à Surtre
  6. Faites Edition... Oh oh... "Impossible d'annuler" Annuler n'est plus disponible... On ne peut plus retrouver Brulmondo (A moins de le réécrire à la main bien sûr)... Mais laissez Surtre.

Mais c'est vachement dangereux ce truc ! On peut tout bousiller en un rien de temps !

Ah mais je ne vous le fait pas dire ! ça ne rigole pas avec Access ! En fait, il est nécessaire d'avoir des copies de sauvegarde de la base de données que vous utiliserez en lieu sûr ! Et des sauvegardes régulières ! Et ça, ce n'est plus du ressort d'Access... C'est une organisation que vous devez mettre en place à base de copies depuis l'explorateur, ou en utilisant des système de Backup automatique.

D'ailleurs, avec Word et Excel, vous pouvez annuler autant que vous voulez, bon d'accord... Mais avez vous pensé à ce qu'il peut arriver à vos fichiers ? Est-ce que vous avez prévu les cambriolages ? Et les pannes de disque dur ? et les virus ? Vous avez un anti virus ? Et quand vous surfez sur internet, fous avez un firewall ? (Un programme qui empêche des intrus de venir voir ce qui se passe sur votre disque dur) ? Et les indiscrétions des personnes qui ont accès à vos fichiers ? Et les incendies ?et les inondations ? Les orages ? Les tremblements de terre ? L'invasion des extra terrestres ? (Bon là j'en fais un peu trop...)

Ah oui... Il faut penser à tout ça quand on commence à travailler sérieusement avec l'informatique... Enfin tou ceci pour dire que la sécurité est toute une infra structure à laquelle il faut penser AVANT qu'il errive un malheur. Mais là, nous débordons largement le sujet du cours : L'utilisation d'Access.

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

Les enregistrements s'enregistrent au fur et à mesure de votre saisie, sans que vous ayez à vous soucier de la manière dont Access se débrouille pour les enregistrer. A chaque fois que vous changer d'enregistrement, le précédent est enregistré.

Toutefois, vous pouvez forcer l'enregistrement avec SHIFT ENTER ou en cliquant à gauche. Mais pas en cliquant sur la disquette ni sur CTRL-S .

Cette colonne de gauche permet d'effacer les enregistrements en pressant la touche DEL. Quand un enregistrement est effacé, il l'est pour l'éternité. On ne peut pas annuler ça. Evitez d'effacer un enregistrement en sélectionnant les champs un par un et en les effaçant.

Par contre quand on fait un changement dans un enregistrement, on a la possibilité d'appuyer sur ESC pour annuler ce qu'on est en train de faire. Mais si on sauvegarde ses changements, la seule issue pour revenir à l'état d'avant est Edition/Annuler (CTRL-Z). Attention : avec Access, c'est UNE seule annulation qui est possible.

Avez-vous bien compris ?

  1. Quelle touche permet d'effacer un enregistrement déjà enregistré ?
    a. DEL ***
    b. ESC
    c. ESPACE
    d. ANNULER
  2. On est en train d'écrire par erreur dans un client existant. On a eu le temps de rentrer un nouveau nom, un nouveau prénom, un nouveau code postal et un nouveau pays (en admettant que nous ayons tous ces champs). Combien de fois dois-je appuyer sur ESC pour récupérer mon enregistrement d'avant ?
    a. 1 fois
    b. 2 fois ***
    c. 3 fois
    d. 4 fois
  3. Quel est le raccourci clavier pour enregistrer un ENREGISTREMENT ?
    a. CTRL-S
    b. SHIFT ENTER ***
    c. ENTER
    d. CTRL ENTER
  4. Quel est le raccourci clavier pour enregistrer la STRUCTURE d'une table ?
    a. CTRL-S ***
    b. SHIFT ENTER
    c. ENTER
    d. CTRL ENTER
  5. Combien de fois peut-on annuler en général avec Access ?
    a. Jamais dans aucun cas
    b. Parfois une seule fois, parfois pas du tout ***
    c. 100 fois
    d. Autant de fois qu'on veut

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.

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 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