Leçon 12 : Supprimer, renommer, copier et décrire les tables

Temps nécessaire pour suivre cette leçon : Environ un quart d'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

Aperçu de cette leçon

Dans cette leçon, nous n'allons pas voir de types de champs supplémentaires (Vous avez sans doute constaté que nous n'avons pas encore étudié le type Objet OLE et Assistant Liste de Choix - Nous y reviendrons ultérieurement). Maintenant, nous allons parler des tables en général : Comment les effacer, les renommer, les copier et leur donner une description précise (Ajout d'un commentaire)

Sommaire

  1. Suppression d'une table complète
  2. Renommer une table complète
  3. Donner une description conviviale à une table complète
  4. Mode d'affichage des tables et de leurs propriétés
  5. Copie d'une table complète
  6. Est-il nécessaire de créer une table ou deux ?
  7. Copie d'une base de données complète

Suppression d'une table complète

Est-il possible d'effacer une table complète ?

Oui. C'est très simple : Il suffit de cliquer avec le bouton droit de la souris sur la table que vous voulez supprimer, et de choisisr "Supprimer" :

Et si je me suis trompé ?

Vous pouvez aller dans le menu Edition/Annuler . Vous allez récupérer votre table comme si de rien n'était. Essayez : Effacez la table, et annulez l'opération.

Attention : Vous n'avez droit qu'à une seule annulation de suppression !


Renommer une table complète

Admettons que je veuille changer le nom de ma table : à la place de T_Client, je voudrais l'appeler T_Candidat par exemple. C'est possible ?

Oui : Vous cliquez avec le bouton droit de la souris sur votre table, et vous choisissez "Renommer" : . A ce moment, T_Client apparaît avec un cadre noir, comme ceci : . Appuyez sur la touche DELETE . Ca donne ceci : . Ecrivez le nouveau nom : , et appuyez sur ENTER . C'est terminé. La table s'appelle maintenant T_Candidat : .


Donner une description conviviale à une table complète

Impeccable. Bon ceci dit, j'ai encore une petite demande : T_Client est un nom intéressant parce qu'il est "normalisé" comme vous dites... Mais j'aimerais bien noter quelque part qu'il s'agit bien d'une "Liste de clients". C'est possible ?

Oui. Cliquez avec le bouton droit de la souris sur T_Candidat, et choisissez "Propriétés" : . Cette boîte de dialogue apparaît : . Dans la zone "Description", écrivez "Liste de clients" : et cliquez sur (N'appuyez pas sur Enter à la place de cliquer sur OK, ça ne marche pas) .

Très bien. Mais quand je clique sur OK, ma description n'est plus visible. Comment fais-je pour revoir ou modifier cette description?

Comme pour créer une description : . Pareil...


Mode d'affichage des tables et de leurs propriétés

Je ne peux pas voir tout le temps cette description à l'écran ?

Si, vous pouvez. Cliquez sur l'icone "Détails" : . Vous aurez cet affichage :

Ah oui ! Je vois ma description. Mais on a l'impression que la colonne est trop petite : Je vois : "Liste de clie..." On peut l'agrandir ?

(Avant d'aller plus loin, renommez à nouveau T_Candidat en T_Client.)

Oui. C'est comme les colonnes dans Excel : Il suffit de glisser la double flèche entre la colonne Description et Modifié : - Comme dans Excel !

Et avec ces 4 icônes , je peux donc choisir comment je veux afficher mes tables !

C'est ça. Comme il n'y a qu'une seule table pour le moment, ce n'est pas très parlant, mais c'est bien ça. D'ailleurs, vous pourrez, quand nous les aurons vu, voir les requêtes, formulaires et états de différentes manières, grâce à ces icônes.

Vous avez également sans doute remarqué que quand vous demandez à visualiser les détails, vous voyez également quand la table a été créée, et quand elle a été modifiée pour la dernière fois. Attention toutefois à la date de modification : C'est la date de la dernière fois ou vous avez modifié la table en MODE CREATION ! Si vous faites des changements dans les enregistrements (Par exemple, vous remplacez Clunton par Clanton), eh bien la date et l'heure ou vous avez fait ce changement ne sera PAS répercuté dans cette fameuse "date de modification".


Copie d'une table complète

J'ai tout compris. Et si j'avais envie de faire une simple copie complète de toute ma table ?

Si par exemple vous vous dites : "Tiens je vais supprimer pas mal de clients que je ne veux plus soit parce qu'ils ont déménagé, soit parce que ça fait trop longtemps qu'ils n'ont rien commandé", vous vous apprêtez donc à supprimer pas mal d'enregistrements... Mais vous vous rappelez aussi qu'avec Access, ce n'est pas possible d'annuler comme on veut quand on veut, donc... Ce serait plus sage de :

  1. Faire une copie de T_Client
  2. Effacer tous les clients que vous ne voulez plus
    Si ça s'est bien passé : Vous n'avez plus qu'a effacer votre table copiée qui finalement n'aura servi à rien cette fois
    Et si vous avez effacé des clients par erreur :
  3. Il faudra alors effacer complètement T_Client (Bouton droit/Supprimer) que vous avez un peu "abimée" en effaçant trop de clients
  4. Renommer votre table copiée en T_Client
    Voilà : Comme vous aviez effectué une copie de sécurité de T_Client... On la récupère ! Youpi !
  5. Et on recommence : Retournez à l'étape 1

Comment ça se passe concrètemenent ?

  1. Cliquez sur T_Client
  2. Allez dans le menu Edition/Copier
  3. Et tout de suite, là, maintenant : Edition/Coller
  4. Cette boîte apparaît :
  5. Ecrivez le nom de la copie de la table T_Client : T_ClientSauvegarde : , et cliquez sur

Voilà : Vous avez maintenant 2 tables strictement identiques !

Et si par exemple, je voulais créer une table des fournisseurs qui contient à peu près les mêmes champs que T_Client, je fais comme ça : Je copie la table T_Client sous le nom T_Fournisseur, et puis... Je n'ai plus qu'à effacer les clients qui ont été copiés aussi, je change quelques champs comme "Nom" que je remplace en "RaisonSociale" par exemple, et le tour est joué ?

Oui. En gros, c'est ça. Sauf que quand vous êtes dans la boîte de dialogue , vous pouvez cliquer sur "Structure seulement", ça aura pour effet de copier la table SANS les enregistrements..

Mais ceci dit, on pourrait grouper les enregistrements des clients et des fournisseurs dans une même table !

Hein ??? Ce n'est pas possible !


Est-il nécessaire de créer une table ou deux ?

Mais si, pourquoi pas : Une table T_Contact avec un champ "Client" défini en Oui/Non. Ceux qui ne sont pas des clients sont des fournisseurs. Ne faites rien, c'est juste pour vous montrer :

Mais quel intérêt de faire ça ?

Eh bien, si vous voulez imprimer d'un seul coup votre liste de contact, qu'il s'agisse de clients ou de fournisseurs, c'est plus facile !

Effectivement ! Il faut tout grouper alors ?

Pas forcément ! Nous verrons bien plus tard que ce n'est pas si facile de répondre à cette question : Que faut-il grouper dans quelles tables ? Il y a des avantages et des inconvénients dans les deux cas, mais meilleure est la compréhension d'Access, moins on cours le risque de se tromper.

OK. A part ça, peut-on copier une table dans une autre base de données ou même Excel également ?

Oui, mais c'est l'objet de la leçon 18.


Copie d'une base de données complète

Et la base de données elle-même, on peut la copier par sécurité ?

Oui. Mais... Pas avec Access. Ausi étonnant que cela puisse paraître, Access ne dispose pas, et n'a jamais disposé en aucune manière d'outil permettant d'enregistrer une copie de sécurité de la base de données que vous utilisez (ProFormation.MDB), même Access XP (Access 2002) n'a pas cette fonction !

Comment fait-on alors ?

Avec le bon vieil explorateur (Démarrer/Programmes/Explorateur Windows)... Eh oui ! Il faut évidemment maîtriser la copie de fichiers dans l'explorateur, et nous n'allons pas en dire plus ici, car ça sort du cadre du cours Access. Ce qui n'empêche pas que c'est absolument crucial : Imaginez que quelqu'un efface la base de données en votre absence... Vous êtes bon pour tout refaire : La conception de la base ET la saisie des données... Et si vous aviez entré 8000 clients, c'est le gros malaise évidemment.

Mais il n'y a pas que l'effacement qui doit vous mettre sur vos gardes: Il y a le vol, les inondations, les incendies ! Tout ceci est à prendre en considération ! Imaginez un incendie : L'assurance va vous rembourser le prix de votre PC... Mais les innombrables heures de conception de la base de données, les journées entières de saisie des données, qui donc va vous rembourser ça ??? C'est impossible ! C'est à vous et/ou à l'administrateur de votre système (si vous travaillez dans une entreprise en réseau) de vous occuper CONSCIENCIEUSEMENT de la sauvegarde REGULIERE et EN PLUSIEURS ENDROITS (plusieurs disques durs, CD-ROM) de la base de données. Il est primordial (Pour votre santé j'entends - Une crise de nerfs ou une dépression nerveuse n'arrangent rien) que vous puissiez vous dire à n'importe quel moment, 24H/24, chaque jour de l'année : "Dans le pire des cas, si on nous cambriole, ou qu'il y a une inondation, ça m'est égal : L'assurance va me rembourser le matériel,. et la base de données se trouve sur une disquette ou un CD ROM à la maison, dans un coffre à la banque et sur une unité de sauvegarde dans mon entreprise (par exemple) - En cas de malheur, on n'aura qu'à récupérer la sauvegarde la plus récente, et au pire, on aura perdu peut être 2 jours de travail, pas plus".

Je suis certain que vous comprenez l'enjeu : Votre bon sommeil.

Avant de terminer la leçon, veuillez effacer la table T_Candidat qui ne nous servira plus dans les leçons suivantes.

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

Dans cette leçon, nous avons survolé les options générales des tables : Comment les effacer, les copier, copier seulement leur structure, les renommer : Ces options étant disponibles dans le menu contextuel (bouton droit de la souris) des tables dans la fenêtre "Base de données". Nous avons également constaté que nous pouvons changer le mode d'affichage pour voir les dates de création et de modification de structure. Nous avons constaté qu'il est absolument priimordial de sauvegarder les bases de données elles-mêmes, mais qu'Access ne posséde pas d'outil de sauvegarde des bases complètes !

Avez-vous bien compris ?

  1. Est-il possible d'effacer une table alors qu'elle est ouverte (testez pour avoir la bonne réponse) ?
    a. Oui
    b. Non ***
    c. Seulement si elle est ouverte en mode création

  2. Comment peut-on renommer une table ?
    a. Bouton gauche sur la table, choisir Renommer
    b. Bouton droit sur la table, choisir Renommer ***
    c. Menu Table/Renommer
    d. Cliquer sur la table et appuyer sur la touche DEL

  3. Comment peut-on copier une base de données directement depuis Access ?
    a. On ne peut pas *** Encore que ce n'est pas tout à fait vrai : Si vous allez dans le menu Fichier/Ouvrir, vous pouvez cliquer sur votre base de données, et utiliser la touche de raccourci pour copier CTRL C et immédiatement la touche pour coller CTRL V
    b. Fichier/Enregistrer sous, et attribuer un autre nom de base de données (Essayez, vous verrez)
    c. Bouton droit sur la table T_Client et choisir "Dupliquer la base de données"
    d. Aller dans le menu Edition/Cloner la base

  4. Peut-on copier une table sans pour autant copier ses enregistrements ?
    a. Oui ***
    b. Non

  5. J'ai une table T_Fournisseur, mais ce n'est pas très convivial comme nom. Que puis-je faire ?
    a. Je renomme T_Fournisseur en Liste Des Fournisseurs
    b. Clic sur T_Fournisseur et Edition/Nom convivial : Ecrire "Liste des fournisseurs", et OK
    c. Clic droit sur T_Fournisseur, Propriétés : Ecrire "Liste des fournisseurs", et OK. Cliquer sur l'icone Détails pour visualiser le résultat ***
    d. Clic droit sur T_Fournisseur, Création d'info-Bulle, ecrire "Liste des fournisseurs", cocher "Affichage automatique, et OK"

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

  1. Créez une base de données Commerce.mdb.
  2. Créez une table T_LaClientèle qui contiendra les champs suivants : NomClient et Prenom, avec les données suivantes : Martin Jules et Dupont Jean-Louis
  3. Renommez T_Clientèle en T_Client
  4. Effacez T_Client
  5. Annulez l'effacement de T_Client tout de suite après
  6. Copiez T_Client dans une nouvelle table que vous appellerez T_ClientSauvegarde (Cette nouvelle table contiendra les clients)
  7. Effacez l'enregistrement Jules Martin de la table T_Client
  8. Comme cet effacement est une erreur, effacez la complètement la table T_Client (Pas ses enregistrements, la table elle-même)
  9. Renommez T_ClientSauvegarde en T_Client
  10. Recopiez à nouveau T_Client en une 2ème table T_Client Sauvegarde (Cette nouvelle table contiendra les clients)
  11. Copiez T_Client également dans une autre table T_Fournisseur, mais SANS inclure les clients existants (la structure seulement)
  12. Dans T_Fournisseur, changez le champ NomClient en RaisonSociale, et supprimez le champ Prenom

Téléchargez non pas la solution proprement dire, mais la base de données Commerce.MDB exactement dans l'état qu'elle devrait être si vous avez suivi l'exercice scrupuleusement

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.

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