![]()
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 procd.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
| Dans la leçon précédente, nous avons vu comment paramétrer les champs. Nous n'avons pas tout vu, mais nous avons vu qu'il y a déjà une différence fondamentale entre le texte et le numérique. De plus, nous avons vu que nous pouvons, avec Access, sécuriser les entrées en n'acceptant les données quand dans une certaine limite : Empêcher de préciser qu'une personne est agée de 3000 ans par exemple, grâce aux propriétés Valide Si et Message si erreur. Nous avons vu également que nous pouvons avoir un champ qui s'appelle NomClient par exemple, mais afficher Nom en mode saisie de données. |
| 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 ? |
Nous allons faire une démonstration éloquente pour montrer exactement comment Access effectue la sauvagarde des enregistrements. Ouvrez votre base de données procd 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 :

Nous allons nous intéresser à cette petite colonne de gauche :
. C'est dans
ces petites cases que nous allons constater la sauvegarde. 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
sauvegardé, à l'instant précis ou vous avez quitté l'enregistrement Alain Dalon.
Maintenant, s'il y avait une coupur de courant, tout serait correctement
sauvegardé, y compris le "s" de Dalons.
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 sauvegardera pas votre enregistrement !
Non. En fait, l'enregistrement s'effectue lorque vous effectuez l'une de ces actions suivantes :
Absolument, vous avez tout à fait raison.
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
sauvegardé.
En mode saisie de données, à pas grand chose. En mode création, elle sert à sauvegarder 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 sauvegardée (Comme si vous étiez dans Word ou Excel, et que vous ne sauvegardez pas avec la petite disquette, mais que vous attendez de fermer le document pour répondre Oui à la question "Voulez-vous sauvegarder vos modifications ?").
Allez, puisque vous insistez, je vous donne les manières d'enregistrer :
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 sauvegardé.
Utilisez le raccourci claviet : SHIFT ENTER ![]()
![]()
NON NON NON, CTRL-S va sauvegarder la STRUCTURE de la table, SHIFT-ENTER va sauvegarder 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 bien, justement, vous cliquez sur la partie de droite 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.
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
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.
Alors là, non, pas du tout. Nous allons d'ailleurs tenter l'expérience. Votre
table ressemble normalement à ceci :
. Remplacez Jordint par
Redford :
. Sauvegardez 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.
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 :
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.
|
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 sauvegarder. 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. |
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 procd.mdb exactement dans l'état ou elle devrait être à la fin de cette leçon.