![]()
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
| Lors de la dernière leçon, nous avons vu comment Access se débrouille pour offrir l'enregistrement automatique des informations (données). Nous avons également vui comment effacer un enregistrement. |
| Maintenant, nous allons un peu jongler avec les textes. Peut-on vraiment mettre n'importe quoi dans les champs de type texte ? |
Oui, mais dans la limite imposée par la propriété Taille du champ :
. Avec les
champs texte, vous pouvez définir jusqu'à 255 caractères maximum. Si vous
essayez d'écrire 256 dans cette zone
, alors, Access va vous
donner ce message d'erreur :
. Laissez donc la valeur à 50 pour l'instant.
Oui, ça c'était parce qu'il s'agissait de numérique
. Dans le cas de champ
de type texte, cette fois, on compte simplement le nombre de caractères : 
Et bien, les données sont simplement tronquées. Nous allons faire un test.
Ajoutez un nouveau champ Remarque, qui va contenir les remarques des clients
(c'est à dire des annotations personnelles de style "Ce client a déménagé en
1996, et depuis, on ne l'a plus revu", ou encore "Attention : Il paye ses
factures en retard !" - Une sorte de fourre tout), et définissez cette remarque
comme du texte de longueur 4 :
. Lancez la table en mode création, et essayez
d'écrire ABCDE comme remarque pour William Clunton. Vous constatez que vous ne
pouvez pas écrire cette lettre E (un caractère de trop). Maintenant, revenez en
mode création, et réduisez encore la taille du champ Remarque cette fois à 2
caractères
. Relancez la table en mode saisie de données. Access vous
affiche alors ce message :

En gros il nous dit "Attention, la taille de la remarque était de 4 caractères... Donc, il y a peut-être des clients qui utilisent ces 4 caractères. Si vous réduisez encore cette taille, je vous préviens que tout ce qui dépasse, je coupe !"
Et oui... notre remarque ABCD va être coupée à AB. Dites Oui. Constatez qu'effectivement, votre remarque pour William Clunton a été réduite en AB sans autre forme de procès. Si vous aviez eu 50'0000 clients avec des remarques de 4 caractères, elles auraient été réduites à 2... et Pas question d'annuler !
Ben non ! Essayez : Revenez en mode création, et remettez 4 caractères pour ce champ remarque. Lancez la table en mode saisie de données... Constatez que la remarque est restée AB... A vous le remettre CD à la main : Faites-le.
Comme d'habitude avec Access... Il faut prévoir tous les cas de figures AVANT d'entrer des données... Sinon, c'est la cata !
Non, parce que les tailles de champs fonctionnent exactement comme des places de parking. La place de parking, c'est la taille du champ, et la donnée qu'on met dedans (ABCD par exemple), c'est la voiture.
Vous savez pourquoi les places de parking ne font pas 255 mètres de long ? Ce serait pourtant plus pratique pour se parquer.. Plus besoin de faire de créneau !
Et bien alors à ce moment-là, on n'a qu'à faire de places de parking de la longueur d'une voiture : 3 mètres
Exactement. C'est pourquoi les places de parkings sont juste un peu plus grandes que la taille d'une grosse voiture. Elles ne sont ni trop grande ni trop petites. C'est exactement comme ça qu'Access utilise la mémoire de votre disque dur : Si vous avez un champ Remarque qui contient 255 caractères, mais que les remarques sont longues de 5 ou 6 caractères, al ors, toute la place restante est réservée et perdue... On peut faire le calcul si vous avez 1000 clients :
Voyez ici : Les places réservées sont trop grandes par rapport au contenu :
![]()
Ici, les places sont bien ajustées. Oui, certaines places sont trop grandes, mais c'est normal, on ne peut définir qu'une taille de champ...
![]()
Donc... adaptez judicieusement les tailles... ça a d'autres avantages : Si par exemple, vous avez des clients suisses, et que vous voulez indiquer le canton en 2 lettres d'ou ils sont issus (BE, GE, ZH, etc...)... Mettez bien 2 caractères, comme ça vous économisez de la place, la base de données ne s'agrandit pas inutilement, et surtout, vous ne risquez pas de mettre une 3ème lettre par erreur !
Bon ceci dit, tout à fait entre nous, pour la question de place, avec les tailles phénoménales qu'atteignent les disques durs à l'heure actuelle, c'est un peu économiser pour le plaisr d'économiser parce qu'avant que vous n'arriviez à remplir votre disque dur, il vous faudra entrer des des dizaines de millions de clients, même avec des tailles de champs de 255...
Oui. dans ce cas, on n'utilise plus du texte, mais du mémo :
. Le mémo permet
d'entrer du texte quasiment de longueur illimitée. Mais par contre, ça ralentit
un peu le fonctionnement de la machine d'une part, et ça prend plus de place que
du texte d'autre part.
Absolument. Mais il y a un autre inconvénient : On ne peut pas trier les champs mémos ! Nous n'avons pas encore vu les tris de données. Nous allons en profiter pour les voir maintenant. Pour commencer, précisez que le champ Remarque soit en type de données Mémo, Remaniez ensuite votre table T_Client de manière à ce qu'elle ressemble à celle-ci :

Si vous avez envie de trier tous vos clients par ordre alphabétique, il vous
suffit de cliquer avec le bouton droit de la souris sur n'importe quel nom de
famille, et de choisir "Tri croissant"
. Vous constatez alors
que toute votre table est maintenant triée par ordre croissant des noms de
famille, et que bien évidemment, les autres colonnes ne sont pas mélangées. Bill
Clunton est toujours le président de US Computer, Michael Jordane est toujours
basketteur, etc.. Je veux dire par là que quand on trie une colonne, les autres
colonnes se remettent en ordre automatiquement.
Si vous voulez trier tous les clients par ordre alphabétique des prénoms : Il suffit de cliquer avec le bouton droit sur n'importe quel prénom, et choisir Tri Croissant.
Et si vous vouliez trier les clients de plus grand au plus petit, vous aurez sans doute deviné qu'il suffit de cliquer avec le bouton droit sur une taille, n'importe laquelle, et de choisir Tri Décroissant.
Attention donc : Vous ne pouvez pas trier par 2 colonnes en même temps : Si vous triez par nom, et ensuite par taille, les noms seront à nouveau en désordre. C'est logique.
Et maintenant, ce que je voulais vous préciser : Vous ne pouvez pas trier par remarque. Si vous essayez, vous consaterez que Tri croissant et Tri décroissant sont grisés ! C'est une spécificité interne inhérente à la conception d'Access.
Avec Access 2000, et Access 2000 seulement, il est possible de trier les champs Mémos dans les requêtes. Avec Access 97, pas question. Mais nous reviendrons sur les requêtes ultérieurement.
Bon, entre nous, quel est l'intérêt de trier par les remarques ? Il n'y en a pas vraiment.
Exactement. Le champ Remarque, ou Observation est un excellent exemple. On utilise énormément le champ Remarque pour indiquer des précisions sur un client, ou n'importe quoi d'autre qui ne trouve pas sa place dans les autres champs.
|
Les types de données doivent être judicieusement définis dès le départ. Il faut savoir si tel ou tel champ est numérique, ou texte au autre. Dans le cas ou il s'agit d'un texte, il faut savoir de combien plus ou moins on aura besoin de caractères. Il ne sert à rien d'en mettre trop, et il ne faut pas en mettre trop peu non plus. Dans le cas ou on a besoin d'entrer du texte qui peut dépasser 255 caractères, alors on utilise un champ de type Mémo, qui permet des longueurs de texte quasiment illimitées, mais il faut se rappeler qu'on ne peut pas facilement trier ce champ. |
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. |
|
Créez une base de données qui s'appelle finilafumee.mdb. C'est un club qui rassemble les gens qui veulent arrêter de fumer. Vous allez y installer les informations suivantes dans une table des membres.:
L'exercice consiste à créer une table qui contiendra des noms de champs corrects, avec des types de données appropriés. Passez en revue les options de champs tels que les tailles, Légendes, et Valide Si. A titre d'exemple, voici 2 personnes que vous pourrez entrer dans votre Table : - Julien Giovanni. Il aime le tennis et la pêche en mer. Il est né en Angleterre, et actuellement il fume 3 paquets de cigarettes par jour (une soixantaine de cigarettes). Il ne se rappelle plus l'age de sa première cigarette, mais il veut s'arrêter car son médecin à tiré la sonnette d'alarme - Martine Gonzalez aime la couture, la cuisine et les voyages. Elle vient de France. Elle fume environ 1 paquet quotidiennement (20 cigarettes). Elle a commencé à 14 ans, et elle veut s'arrêter car elle est enceinte. Réfléchissez bien, et comparez votre résultat avec la solution de l'exercice que vous pouvez télécharger 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 procd.mdb exactement dans l'état ou elle devrait être à la fin de cette leçon.