Leçon 9 : Le type de données Oui/Non

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, nous allons appréhender la notion de Oui/Non, ou Vrai/Faux, ce qui est pareil. C'est beaucoup plus simple que les numériques : Il s'agit de dire si untel champs est Vrai ou Faux.

Sommaire

  1. Le type de données Oui/Non : Cas non-conseillés
  2. Le type de données Oui/Non : Utilisation de 2 champs Oui/Non au lieu d'un seul
  3. Le type de données Oui/Non : Véritable apparence dans la mémoire de votre ordinateur
  4. Le type de données Oui/Non : Utilisation du clavier pour cocher ou décocher les cases

Admettons que ma table des clients soit en fait une table des candidats pour une agence matrimoniale, et j'aimerais préciser pour chaque candidat s'il est divorcé ou célibataire. Je crée un champ EtatCivil dans lequel je marque Divorcé ou Célibataire selon les cas, comme ceci : ?


Le type de données Oui/Non : Cas non-conseillés

Ca dépend. Pouvez-vous avoir d'autres états civils, comme "Marié" ou "Veuf" ?

Ca peut arriver, oui.

Dans ce cas, vous devez installer une zone de texte

Je ne peux donc pas utiliser un type de données Oui/Non ?

Non. Le type de données Oui/Non ne supporte vraiment QUE 2 états : Vrai ou Faux (Oui ou Non). Comme vous avez plusieurs choix :

Ca ne marche pas

Pour être plus précis, ce qui m'intéresse surtout dans cette table, c'est de savoir si la personne est Célibataire. Les autres états civils m'importent peu, finalement.

La, c'est différent. Maintenant, oui, vous pouvez définir un champ de type de données Oui/Non.

Mais attention : Vous n'appellerez plus votre champ "EtatCivil", mais "Celibataire". Allez-y : Créez un nouveau champ Celibataire juste en dessous de prénom, que vous déclarerez en type de données Oui/Non : . Lancez votre table en mode saisie de données. C'est pratique : Ce sont des cases à cocher . Et il suffit de cliquer dans un de ces petits carrés (Que l'on appelle donc des cases à cocher) pour y voir apparaître un petit V. Quand il y a un petit V, la personne est célibataire, sinon, elle ne l'est plus . C'est aussi simple que ça.

La case à cocher est donc utilisée UNIQUEMENT quand 2 choix sont possibles ?

Oui.

Et si par exemple, ma liste de clients est une liste des "Amis des animaux", et que je voulais préciser si chaque membre a un chien ou un chat, je suis bien obligé de procéder comme suit : ?


Le type de données Oui/Non : Utilisation de 2 champs Oui/Non au lieu d'un seul

Pas du tout. Dans ce cas de figure, vous créez 2 champs : PossedeChien et PossedeChat, que vous définissez en Oui-Non, afin d'obtenir ce résultat : . N'est-ce pas largement plus clair ?

Effectivement ! Mais il fallait y penser !

Eh oui... comme toujours avec Access. La majorité du temps passé à la conception de votre base de données réseide en la réflexion préléminaire...

Revenons à nos moutons. Nous en étions aux célibataires . Il faut savoir que le petit V que vous mettez dans les cases ne se stocke pas de façon interne sous la forme d'une lettre V. En fait, lorsque la case est cochée, Access comprend la valeur -1. Et si la case n'est pas cochée, Access comprend la valeur 0. En réalité, en informatique, c'est toujours comme ça :

(En fait, toute valeur différente de 0 est considérée comme vraie).

Faisons-en la démonstration. Revenez en mode création de votre table. Cliquez sur le champ Celibataire, puis sur l'onglet Liste de choix, et choisissez "Zone de texte" (On "tue" la cae à cocher en quelque sorte).


Le type de données Oui/Non : Véritable apparence dans la mémoire de votre ordinateur

Lancez la table en mode saisie de données. Maintenant, ce n'est plus une case qu'il suffit de cocher, mais il faut écrire Oui ou Non.

Mais en fait, c'est encore différent : Cliquez sur Oui de Michael : . Le oui est donc représenté par -1, et le non par 0. Mais comme je vous l'ai dit, n'importe quelle valeur différente de 0 est condidérée comme oui. Essayez : Dites que Robert est célibataire 389 : . Dès que vous cliquez ailleurs pour valider votre 389, il se transforme en Oui.

OK. C'est intéressant, mais à quoi celà m'avance-t-il de connaître tout ceci ?

Dans le cas ou vous exportez votre table vers Excel (Nous verrons ça dans la leçon 18, mais je vous le dis par avance: Fichier/Exporter/Type de Fichier : Excel 97/2000), même si vous avez laissé des cases à cocher, vous aurez ce résultat : . Excel a choisi d'afficher Vrai ou Faux. Certains autres programmes mettent Oui ou Non, et d'autres encore selon la manière dont ils sont configurés. Toutes ces explications étaient seulement destinées à bien vous faire comprendre la similitude : Vrai=Oui=Case cochée=-1=3=87=242=N'importe quel nombre différent de 0 et Faux=Non=Case non cochée=0.

On peut remettre les cases à cocher, comme au début ?

Dans les options du champ Célibataire, choisissez sur l'onglet liste de choix Afficher le contrôle : Case à cocher .

Un détail : avant qu'on n'installe une case à cocher, on pouvait complètement saisir les données au clavier : Pour changer de champ, on utilisait la touche Tab . Mais avec la case à cocher, est-on obligé d'utiliser la souris pour cocher la case ?


Le type de données Oui/Non : Utilisation du clavier pour cocher ou décocher les cases

Non. Il y a une astuce : La barre d'espacement. Lancez la table en mode saisie de données et essayez ceci :

  1. Cliquez sur Bill
  2. Appuyez sur Tabulation . Vous êtes maintenant SUR la case à cocher Celibataire de Bill Clunton.
  3. Appuyez sur la barre d'espace
  4. Et voilà. Vous cochez ou décochez les cases à cocher grâce à cette barre d'espace. Si vous réappuyez sur la barre d'espace, ça remet ou enlève la coche. Et bien entendu toujours la touche tabulation pour passer au champ suivant

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

La case à cocher représente un champ qui ne peut avoir que 2 états : Vrai ou Faux. On peut imaginer le champ "Retraite", qui est une case à cocher : En effet on est retraité ou on ne l'est pas...
Quand on coche une case, on dit que le contenu du champ est VRAI, ou OUI, ou encore = à -1. Dans les options de champs, on peut d'ailleurs choisir si on veut une case à cocher, ou directement le texte OUI ou NON.
Il faut être attentif aux pièges : Si on veut préciser qu'un client aime les pommes et/ou les poires ou rien du tout, On pourrait se dire qu'il y a ici plus de 2 choix (Pommes Oui, Poires Oui, Pommes non, poires oui, il aime les deux fruits, il n'aime rien, etc...) Mais Ceci peut se contourner un utilisant DEUX cases à cocher : AimePomme et AimePoire.

Avez-vous bien compris ?

  1. Je veux préciser si mon client est Européen J'utilise un champ Europeen que je met en Oui/Non.
    a. C'est la bonne solution ***
    b. Ce n'est pas la bonne solution
    c. C'est juste mais Il faut un 2ème champ : Un champ "Europeen" et un champ "NonEuropeen"

  2. Dans mes clients, j'ai besoin de savoir s'ils ont un permis de travail, et si oui, l'ont ils depuis plus de 5 ans, Commet dois-je procéder ?
    a. On ne peut pas ici utiliser de chanp Oui/Non : Un champ texte suffit : "PermisTravailDurée"
    b. Un champ PermisTravail en Oui/Non, et un champ Numérique "Durée"
    c. Un champ "PermisTravail" en Oui/Non, et un champ Oui/Non "PermisPlusDe5An" *** (Pas numérique puisqu'on veut JUSTE savoir s'ils l'ont depuis plus de 5 ans)

  3. Je veux savoir pour mes clients s'ils possèdent un Visa pour la Chine et un Visa pour les Etats-Unis. Comment faire ?
    a. Un champ "VisaChineUSA" en Oui/Non suffit
    b. Un champ "VisaChineUSA" en Texte suffit
    c. Un champ "VisaChine" en texte et un champ "VisaUSA" en texte
    d.
    Un champ "VisaChine" en Oui/Non et un champ "VisaUSA" en Oui/Non ***
  4. Je veux préciser quels sont les 2 sports que mes clients pratiquent le plus régulièrement. Comment faire ?
    a. Un champ Sport1 en texte et un champ Sport2 en texte ***. Eh oui ! Pas question de cases à cocher ici...
    b. Un champ Sport en Oui/Non
    c. Un champ Sport1 en Oui/Non et un champ Sport2 en Oui/Non
    d.
    Un champ Sport1 en texte, Sport1Pratique en Oui/Non, Un champ Sport2 en texte, Sport2Pratique en Oui/Non.

    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

L'exercice consiste à créer une base de données de clients qui désirent recevoir des offres promotionnelles pour des clubs de vacances.
Vous allez créer une base de données holiday-on-line.MDB, et y créer une table T_Prospect qui va contenir une foule de renseignements précieux sur les envies et les habitudes vacancières de vos futurs clients. Il faut connaître :

  • Leur Nom
  • Leur prénom
  • Est-ce qu'ils savent nager ?
  • Sont ils vaccinés contre le choléra ? la peste ? le tétanos ?
  • Ont-ils des enfants ? Si oui, combien ?
  • Quel est leur état civil ? (Marié, célibataire, divorcé, Veuf(ve) ?)

Voici 2 exemples de prospects :

  1. Hélène Dupond, ne sait pas nager, vaccinée contre le tétanos, sans enfants, célibataire
  2. Patrick Delporte, sait nager mais n'est pas du tout vacciné. 2 enfants, Divorcé

L'exercice consiste à créer le bon nombre de champs, avec des noms de champ correct, et de définir les types les champs intelligemment, surtout les Oui/Non

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