Leçon 8 : Le type monétaire

Temps nécessaire pour suivre cette leçon : Un peu plus de vingt minutes

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, vous allez apprendre à gérer le type Monétaire. C'est en fait un type de numérique. Il me semble d'ailleurs que plutôt que de faire un type de données particulier Monétaire, Microsoft aurait pu le définir comme simple option de Numérique, tout comme vous choisissez Entier Long ou Réel simple, mais ils ont plutôt décidé d'en faire un type à part entière.

Sommaire

  1. Le type de données Monétaire comparé au type Numérique
  2. Limites des types de données numériques et monétaire
  3. Le type de données Monétaire : Confusion entre la précision et le format
  4. Le type de données Monétaire : Symboles monétaires définis dans le panneau de configuration Windows
  5. Le type de données Monétaire : Le symbole Euro disponible dès Access 2000

Après avoir lu l'aperçu de cette leçon, je suppose que le type de données Monétaire est destiné à recevoir tous les champs qui parlent d'argent ?

Absolument ! Tout ce qui contient de l'argent sera défini en monétaire.


Le type de données Monétaire comparé au type Numérique

Et pourquoi faut-il utiliser du monétaire plutôt que du numérique ?

Parce que le numérique ne permet pas les décimales après la virgule.

Comment ça ??? Si je définis mon numérique en Réel Simple plutôt que Entier Long, il accepte tout à fait !

Ha ha ha ! Vous avez entièrement raison ! Je voulais m'assurer que vous suiviez bien !

Petit plaisantin ! ça ne répond toujours pas à ma question !

En fait, c'est un peu subtil. C'est la manière interne de stocker les données qui diffère. Selon le type de données que vous allez utiliser, vous aurez des limitations différentes. Je vais vous les expliquer, mais ces limites n'étant pas facilement atteintes au vu de leur taille, elles ne sont pas d'une utilité primordiale.

Avant de parler de monétaire, ce pourquoi nous sommes là, voyons les différentes limites des numériques. Dans la leçon 4, nous n'avons vu que les numériques Réels simples (qui acceptent des virgules), et les entiers longs (qui n'en acceptent pas). En fait, il y a d'autres alternatives. Pour suivre l'exemple, ouvrez la base de données habituelle ProFormation, et dans T_Client, en dessous du prénom, ajoutez un champ Salaire (Et oui... il faut se rappeler comment on fait pour insérer une nouvelle ligne...) : . Dans les types de données, nous allons nous intéresser aux types Numérique et Monétaire : . Si vous choisissez Numérique, vous constatez qu'il y a une propiriété Taille du champ en bas qui contient les choix suivants : . Par contre, quand vous choisissez Monétaire dans cette liste , il n'y a plus aucune propriété Taille du champ en bas de l'écran. C'est pour ça qu'en début de leçon je me demandais pourquoi Microsoft n'a pas ajouté Monétaire à cette liste , et supprimé monétaire de celle-ci : .

Touours est-il que voici le tableau des limites des différents types :


Limites des types de données numériques et monétaire

Numérique
Type Minimum Maximum Accepte les décimales ? Exemple d'utilisation
Octet 0 255 Non Si vous devez stocker le nombre de roues de camions par camion, le nombre de jours requis pour un projet, Le nombre d'articles en stock (Mais attention donc, jamais plus de 255), la taille d'un client en CM, le nombre d'élèves d'une classe, ...
Entier -32768 32767 Non Si vous devez stocker l'année de naissance d'un client (1975, 1933, ...), le nombre d'élèves d'une école, la surface en mètres carrés d'un terrain de sport, ...
Entier Long –2 147 483 648 2 147 483 647 Non Si vous devez stocker le nombre d'habitants d'une ville, le nombre de mots contenus dans un livre, ...
Réel simple -Quelques millions +Quelques millions Oui, quelques unes Si vous voulez stocker la taille d'un client en mètres, des notes d'examens (4.5, 17.5, etc...), la température d'un patient, ...
Réel Double - Quelques dizaines de milliards + Quelques dizaines de milliards Oui, pas mal Si vous devez compter les kilomètres séparant les planètes, les mètres cubes d'eau contenus par les océans, le poids de la terre en kilos
N° de réplication Ce type est très spéciale, utilisé seulement lors de la réplication de données. Je ne m'étends pas sur le sujet maintenant
Décimal - Beaucoup de milliards + Beaucoup de milliards Oui, pas mal Je ne vois pas d'application différentes au Réel Double.
Monétaire
- Beaucoup de milliards + Beaucoup de milliards Oui, pas mal Tout ce qui est argent : Salaire, primes, retenues, prix, ...

Vous avez constaté que je reste un peu évasif quant aux bornes inférieures et supérieures des nombres avec décimales. Simplement parce que j'ai constaté que la manière de fonctionner d'Access est destinée uniquement à la compréhension de mathématiciens/informaticiens qui ont une connaissance pointue de la manière dont sont stockés les très grands nombres. En effet, j'ai constaté que lors d'utilisation de grands nombres avec ces types de données comprenant des décimales, il arrive à Access d'arrondir, d'afficher les nombres en Notation scientifique (10E+12 par exemple - qui signifie 10 suivi de 12 zéros), selon les cas.

Pour information, je vous livre ce que l'aide d'Access nous donne comme limite de ces types de données:

Type Limites Décimales
Décimal Stocke les nombres compris entre -10^28 -1 et 10^28 -1 (.mdb) 28
Réel simple Nombres entre –3,402823E38 et –1,401298E–45 pour les valeurs négatives et entre 1,401298E–45 et 3,402823E38 pour les valeurs positives. 7
Réel double Nombres entre –1,79769313486231E308 et –4,94065645841247E–324 pour les valeurs négatives et entre 1,79769313486231E308 et 4,94065645841247E–324 pour les valeurs positives. 15

N'ayant jamais eu à développer d'application nécessitant des nombres immenses (J'entends par là des nombres supérieurs à dix milliards), je ne puis pas vous en dire plus.

Il y a quand même pas mal de subtilités dans tous ces types de données !

C'est pour ça que je vous propose de retenir seulement 3 types :


Le type de données Monétaire : Confusion entre la précision et le format

Je me dois de vous informer d'une extrême subtilité qui mène tous les débutants à l'erreur : Quand vous choisissez Monétaire dans la liste des types : N'EST PAS la même chose que le monétaire que vous trouvez dans ses options . Ce monétaire désigne la PRECISION monétaire. C'est ce que je vous ai dit plus haut. Tandis que celui-ci représente LA FACON D'AFFICHER style monétaire. C'est à dire que si vous choisissez monétaire dans les options, vous allez avoir les salaires qui s'affichent avec un symbole monétaire devant, comme ceci : . Mais c'est juste le format d'affichage. En d'autres mots, vous pouvez très bien avoir un champ de type Numérique/Réel simple par exemple, et demander le format d'affichage Monétaire ! Il va afficher les valeurs de PRECISION réel simple en FORMAT monétaire (Avec le Sfr Devant)

Sfr veut dire Swiss Francs. On représente souvent les francs suisses également par CHF (Confédération Helvétique Francs)


Le type de données Monétaire : Symboles monétaires définis dans le panneau de configuration Windows

Mais pourquoi Sfr, et pas FF ou $ ou £ ou Euro ?

Ca, c'est encore une fois le coup des paramètres régionaux. Rappelez-vous la leçon précédente : , , , : Nous avons défini que l'année était affichée en 2 ou 4 chiffres. Ici, c'est le même principe: Le symbole monétaire dépend de la région du globe ou vous vous trouvez. Si vous êtes en France, vous avez certainement le symbole FF qui est apparu à la place de Sfr chez moi en Suisse.

Nous allons essayer de définir le symbole monétaire comme étant € (Le signe Euro). Faites , , , , et cliquez cette fois sur l'onglet Symbole monétaire. Dans la zone Symbole Monétaire, vous mettez le texte que vous voulez (FF, Lires, $, ou même Gâteau, c'est égal. C'est ce qui sera affiché devant les nombres qui seront défini en Symbole monétaire). Dans notre cas, nous allons essayer d'installer le signe de l'euro (€). Pour ce faire, cliquez dans la zone Symbole monétaire, et faites Alt Gr E : . Il est possible que ça ne marche pas. En effet, l'Euro étant une monnaie récente, il suffit que votre clavier soit trop ancien ou mal configuré pour que ce signe ne soit pas possible à afficher. Validez avec OK, et revenez dans Access : Vous devriez avoir instantanément cet affichage : (Pour autant que vous ayez entré les mêmes salaires que moi évidemment...) : .


Le type de données Monétaire : Le symbole Euro disponible dès Access 2000

Mais pourquoi toute cette complication, puisqu'il y a Euro dans la liste des options ?

J'ai pensé aux utilisateurs d'Access 97 qui eux, n'ont pas encore cette option. Et de toute façon, c'était une bonne occasion de voir comment changer la monnaie courante.

A part ça, Il ne fait pas la conversion des francs français en Euro...

Ah non ! Access ne fait pas tout. Il ne vous fera pas le café non plus... Il se contente de changer le nom de la monnaie (Ceci dit, une petite fonction de conversion en Euro auraiut été la bienvenue, mais y'a pas...)

Je suis en train d'imaginer si j'ai 500 clients, il va chaque fois m'afficher le signe Euro devant tous les salaires... C'est un peu lourd... On ne peut pas simplement afficher le salaire sans signe monétaire, et avoir juste le nom de la monnaie en en-tête de colonne ?

C'est généralement ce qu'on fait. Pour le salaire, laissez la précision monétaire, mais demandez le format d'affichage Standard . Ensuite, pour changer le titre de la colonne sans changer le nom de champ, vous savez le faire : C'est la légende que vous changez, comme ceci : . Pour finalement obtenir ce résultat satisfaisant :

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

Le format monétaire s'applique généralement à tous les champs parlant d'argent (Salaire, Prime, Commission, Amende, Prix, ...). Mais ce n'est qu'une sorte de numérique qui se choisit à part.
Il ne faut pas confondre la précision Monétaire qui permet d'indiquer de gros chiffres avec beaucoup de décimales, et l'affichage monétaire qui n'est autre que l'affichage d'une certaine monnaie (ou plus largement d'un certain texte) avant le montant lui-même.

Il est donc judicieux de choisir entre 3 types principaux de numériques : Le numérique Entier Long, Le Numérique Réel Simple, et le monétaire. Il existe toute fois d'autres types secondaires tels que Réel Double, Décimal, Entier, et Octet.

Avez-vous bien compris ?

  1. Quel est le type de données qui est le plus faible en terme de taille ?
    a.Entier
    b.Entier Long
    c.Octet ***
    d.
    Décimal
  2. Je désire installer un champ Pointure pour gérer les chaussures d'une équipe de basket. Que vais-je utiliser comme type de données ?
    a.Entier
    b.Octet
    c.Réel Simple *** (Uniquement parce qu'il peut y avoir des demi taille...)
    d.Entier Long

  3. Je veux gérer une table de délinquants, et j'ai besoin de connaître le nombre de leurs larcins. je vais utiliser :
    a.Entier *** (Octet pourrait peut être suffire, mais on ne sait jamais... Des fois qu'il y ait plus de 255 larcins... )
    b.Octet
    c.Entier Long
    d.Réel Double

  4. Un des types de données est fantaisiste. Lequel ?
    a.Entier Long
    b.Réel Simple
    c.Entier Simple ***
    d.
    Réel double
  5. Je suis gestionnaire de fortune. J'ai besoin de connaître le montant de la fortune de mes clients. Je vais utiliser :
    a.Réel Double
    b.Monétaire ***
    c.Réel simple
    d.Texte

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

Nous allons gérer un groupe de vendeurs de photocopieuses. Une photocopieuse est un objet qu'on ne vend pas comme un pain au chocolat. Un excellent vendeur peut en placer 1 à 2 par jour... Peut-être 3 s'il a de la chance... Vous allez créer une base de données photocopiciel.mdb, dans laquelle vous créerez une table T_Vendeur, avec les informations suivantes :

  • Le nom du vendeur
  • Son prénom
  • Le nombre total de photocopieuses qu'il a vendu depuis qu'il travaille ici
  • Le nombre moyen de photocopieuses qu'il vend par semaine
  • L'age du vendeur (et pas sa date de naissance)
  • Le pourcentage de commission qu'il touche par photocopieuse vendue
  • Son salaire fixe mensuel (en euros)

Voici 2 exemples de vendeurs :

  1. José Dos Santos à vendu en tout 260 photocopieuses, il en vend en moyenne 6 photocopieuses par semaine. Il a 51 ans, il touche 14% de commission, et son salaire fixe est de 4000 francs suisses.
  2. Jeanine Poncet à vendu en tout 17 photocopieuses (Elle vient de commencer), elle en vend en moyenne 2 photocopieuses par semaine. Elle a 26 ans, elle touche 5.5% de commission, et son salaire fixe est de 3800 francs suisses.

Vous avez sans doute compris l'exercice : Il va falloir créer les champs et leur donner les tailles les plus justes par rapport à leur contenu.

Téléchargez la solution de l'exercice 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 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