Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Liste déroulante Oui / Non

12 réponses
Avatar
Isa
Bonjour,

J'ai un champ booléen Oui / Non et je souhaiterai le faire apparaître dans
mon formulaire sous forme de liste déroulante avec les valeurs "Oui", "Non"
et "Vide".
Est ce possible en le laissant sous le type booléen ou alors faut-il que je
le mette en Texte ?
D'avance merci pour vos réponses.

10 réponses

1 2
Avatar
Michel__D
Bonjour,

Isa a écrit :
Bonjour,

J'ai un champ booléen Oui / Non et je souhaiterai le faire apparaître dans
mon formulaire sous forme de liste déroulante avec les valeurs "Oui", "Non"
et "Vide".
Est ce possible en le laissant sous le type booléen ou alors faut-il que je
le mette en Texte ?
D'avance merci pour vos réponses.



Sans la valeur vide/nulle, regarde l'exemple via le lien ci-dessous :

http://cjoint.com/?drpl7OsBNF
Avatar
Isa
Bonjour,

Justement ce qui m'intéresse est d'avoir les 3 valeurs : Oui, Non et Null
(Vide).
Dans votre exemple, il n'y a que Oui et Non.
Merci.

"Michel__D" wrote:

Bonjour,

Isa a écrit :
> Bonjour,
>
> J'ai un champ booléen Oui / Non et je souhaiterai le faire apparaître dans
> mon formulaire sous forme de liste déroulante avec les valeurs "Oui", "Non"
> et "Vide".
> Est ce possible en le laissant sous le type booléen ou alors faut-il que je
> le mette en Texte ?
> D'avance merci pour vos réponses.

Sans la valeur vide/nulle, regarde l'exemple via le lien ci-dessous :

http://cjoint.com/?drpl7OsBNF



Avatar
SYLVIE
salut,
essaie plutot un assistant libre choix avec tes 3 valeurs Oui Non Vide
"Isa" a écrit :

Bonjour,

Justement ce qui m'intéresse est d'avoir les 3 valeurs : Oui, Non et Null
(Vide).
Dans votre exemple, il n'y a que Oui et Non.
Merci.

"Michel__D" wrote:

> Bonjour,
>
> Isa a écrit :
> > Bonjour,
> >
> > J'ai un champ booléen Oui / Non et je souhaiterai le faire apparaître dans
> > mon formulaire sous forme de liste déroulante avec les valeurs "Oui", "Non"
> > et "Vide".
> > Est ce possible en le laissant sous le type booléen ou alors faut-il que je
> > le mette en Texte ?
> > D'avance merci pour vos réponses.
>
> Sans la valeur vide/nulle, regarde l'exemple via le lien ci-dessous :
>
> http://cjoint.com/?drpl7OsBNF
>


Avatar
Richard_35
Bonjour Isa,

"Booléen" signifie 2 valeurs, uniquement (vrai/faux, oui/non, noir/blanc) ;
c'est pour cela que, si ce n'est pas "vrai", alors c'est "faux" : d'où la
"case à cocher" qui est la forme visible du type "booléen".

S'il y a 3 valeurs possibles (oui/non/Null), ce ne peux pas être un champ de
type "booléen" : tu es donc obligée de prévoir un choix trinaire, soit sous
forme de liste déroulante, soit sous la forme de "boutons radio" ou autre.

Dis-nous et bon courage,
Richard.

"Isa" a écrit :

Bonjour,

Justement ce qui m'intéresse est d'avoir les 3 valeurs : Oui, Non et Null
(Vide).
Dans votre exemple, il n'y a que Oui et Non.
Merci.

"Michel__D" wrote:

> Bonjour,
>
> Isa a écrit :
> > Bonjour,
> >
> > J'ai un champ booléen Oui / Non et je souhaiterai le faire apparaître dans
> > mon formulaire sous forme de liste déroulante avec les valeurs "Oui", "Non"
> > et "Vide".
> > Est ce possible en le laissant sous le type booléen ou alors faut-il que je
> > le mette en Texte ?
> > D'avance merci pour vos réponses.
>
> Sans la valeur vide/nulle, regarde l'exemple via le lien ci-dessous :
>
> http://cjoint.com/?drpl7OsBNF
>


Avatar
Gloops
[Si trois valeurs, pas un booléen]

Bonjour Richard,

Pour ce qui est de la case à cocher, si je ne m'abuse il y a quelque
part une propriété tristate ? (enfin si je ne confonds pas avec un autre
produit)

C'est vrai qu'en mémoire si on veut éviter l'appel à un Va riant, dans le
cas où on peut avoir les états coché, pas coché ou gr isé, on doit écrire
un module de classe pour définir un type "booléen ou nul". A mo ins que
le cas ait été traité dans les dernières versions.

Je me rappelle avoir écrit un module de classe DateNullable, je pens e
que le nom est clair ... Si on y passe une date il vaut la date, si on y
passe autre chose il vaut nul. J'aurais aussi pu décider de déc lencher
une erreur, en obligeant à passer une valeur nulle explicitement. En fin
si le but est d'éviter de déclencher des erreurs ...

Dans une table c'est un peu différent, le champ est de type boolé en ou
date, mais une propriété dit si il peut être nul ou pas. S ouvent si on
ne veut pas s'embêter, en mémoire on stocke la valeur dans un v ariant.

D'ailleurs, sous Access, je crois bien qu'on est obligé de passer le s
paramètres au module de classe via un variant. Le module de classe
garantit quand même ce qui se passe si on passe un type inapproprià ©.

_________________________________________
Richard_35 a écrit, le 17/03/2009 14:50 :
Bonjour Isa,

"Booléen" signifie 2 valeurs, uniquement (vrai/faux, oui/non, noir /blanc) ;
c'est pour cela que, si ce n'est pas "vrai", alors c'est "faux" : d'oà ¹ la
"case à cocher" qui est la forme visible du type "booléen".

S'il y a 3 valeurs possibles (oui/non/Null), ce ne peux pas être u n champ de
type "booléen" : tu es donc obligée de prévoir un choix trinaire, soit sous
forme de liste déroulante, soit sous la forme de "boutons radio" o u autre.

Dis-nous et bon courage,
Richard.



Avatar
Richard_35
Bonjour Gloops,

La définition de "booléen" est un élément à 2 états, uniquement (on n'y
coupe pas !).

Tu parles d'éléments "coché, pas coché ou grisé" ; attention :
- "coché/pas coché" sont les valeurs possibles du "champ" qui est de type
booléen ;
- "grisé/pas grisé" sont les valeurs possibles de la propriété "Actif" de
ce même champ dans un formulaire qui est, elle-même (la propriété), de type
booléen (d'ailleurs, il n'y a pas de valeur "Null" sur la ligne "Actif" d'un
champ en création de formulaire...).

Donc, avec tes 3 mots tu parles, en fait, de 2 éléments qui sont de type
booléen (donc, 4 valeurs, en tout).

Par contre, et c'est là, à mon sens, que Access pêche : en création de
table, quand tu ajoutes un champ de type "oui/non", dans l'onglet "Général"
(en bas), Access te propose "Null interdit : oui/non". Cette option devrait
être supprimée car elle ne sert à rien : Access ne permet pas d'obtenir une
valeur nulle pour un champ de type booléen.

Tu peux faire le test en créant une table, par exemple :
-Id N° auto
-lib texte
-bool oui/non (Null interdit = Non)
Tu remplis cette table "sauvagement" ; si tu crées une requête sur cette
table, il te sera impossible de trouver des enregistrements avec le filtre
"bool est Null".

Je ne sais pas si j'ai été tellement clair, sur ce coup là... en tout cas,
c'est un sujet intéressant, analytiquement parlant.

A bientôt,
Richard.


"Gloops" a écrit :

[Si trois valeurs, pas un booléen]

Bonjour Richard,

Pour ce qui est de la case à cocher, si je ne m'abuse il y a quelque
part une propriété tristate ? (enfin si je ne confonds pas avec un autre
produit)

C'est vrai qu'en mémoire si on veut éviter l'appel à un Variant, dans le
cas où on peut avoir les états coché, pas coché ou grisé, on doit écrire
un module de classe pour définir un type "booléen ou nul". A moins que
le cas ait été traité dans les dernières versions.

Je me rappelle avoir écrit un module de classe DateNullable, je pense
que le nom est clair ... Si on y passe une date il vaut la date, si on y
passe autre chose il vaut nul. J'aurais aussi pu décider de déclencher
une erreur, en obligeant à passer une valeur nulle explicitement. Enfin
si le but est d'éviter de déclencher des erreurs ...

Dans une table c'est un peu différent, le champ est de type booléen ou
date, mais une propriété dit si il peut être nul ou pas. Souvent si on
ne veut pas s'embêter, en mémoire on stocke la valeur dans un variant.

D'ailleurs, sous Access, je crois bien qu'on est obligé de passer les
paramètres au module de classe via un variant. Le module de classe
garantit quand même ce qui se passe si on passe un type inapproprié.

_________________________________________
Richard_35 a écrit, le 17/03/2009 14:50 :
> Bonjour Isa,
>
> "Booléen" signifie 2 valeurs, uniquement (vrai/faux, oui/non, noir/blanc) ;
> c'est pour cela que, si ce n'est pas "vrai", alors c'est "faux" : d'où la
> "case à cocher" qui est la forme visible du type "booléen".
>
> S'il y a 3 valeurs possibles (oui/non/Null), ce ne peux pas être un champ de
> type "booléen" : tu es donc obligée de prévoir un choix trinaire, soit sous
> forme de liste déroulante, soit sous la forme de "boutons radio" ou autre.
>
> Dis-nous et bon courage,
> Richard.
>





Avatar
Eric
Bonsoir,

Entièrement d'accord, un booléen --> 2 états
Mais, je pense que la confusion vient du contrôle case à cocher de la
boite à outils qui a lui 3 états ;-)


Richard_35 a écrit :
Bonjour Gloops,

La définition de "booléen" est un élément à 2 états, uniquement (on n'y
coupe pas !).

Tu parles d'éléments "coché, pas coché ou grisé" ; attention :
- "coché/pas coché" sont les valeurs possibles du "champ" qui est de type
booléen ;
- "grisé/pas grisé" sont les valeurs possibles de la propriété "Actif" de
ce même champ dans un formulaire qui est, elle-même (la propriété), de type
booléen (d'ailleurs, il n'y a pas de valeur "Null" sur la ligne "Actif" d'un
champ en création de formulaire...).

Donc, avec tes 3 mots tu parles, en fait, de 2 éléments qui sont de type
booléen (donc, 4 valeurs, en tout).

Par contre, et c'est là, à mon sens, que Access pêche : en création de
table, quand tu ajoutes un champ de type "oui/non", dans l'onglet "Général"
(en bas), Access te propose "Null interdit : oui/non". Cette option devrait
être supprimée car elle ne sert à rien : Access ne permet pas d'obtenir une
valeur nulle pour un champ de type booléen.

Tu peux faire le test en créant une table, par exemple :
-Id N° auto
-lib texte
-bool oui/non (Null interdit = Non)
Tu remplis cette table "sauvagement" ; si tu crées une requête sur cette
table, il te sera impossible de trouver des enregistrements avec le filtre
"bool est Null".

Je ne sais pas si j'ai été tellement clair, sur ce coup là... en tout cas,
c'est un sujet intéressant, analytiquement parlant.

A bientôt,
Richard.


"Gloops" a écrit :

[Si trois valeurs, pas un booléen]

Bonjour Richard,

Pour ce qui est de la case à cocher, si je ne m'abuse il y a quelque
part une propriété tristate ? (enfin si je ne confonds pas avec un autre
produit)





Avatar
Richard_35
Bonjour Eric,

Bien vu.

Mais il est impossible de stocker ce champ dans une table à l'état "Null".
Il s'agit, en fait, d'un état temporaire uniquement valable en interactif
(donc, dans un formulaire éphémère).

Il y a donc 2 sources de confusion :
- formulaire : case à cocher (éphémère) à "3 états" ;
- création de champ dans une table : Access propose "Null interdit :
oui/non".

Bonne soirée,
Richard.

"Eric" a écrit :

Bonsoir,

Entièrement d'accord, un booléen --> 2 états
Mais, je pense que la confusion vient du contrôle case à cocher de la
boite à outils qui a lui 3 états ;-)


Richard_35 a écrit :
> Bonjour Gloops,
>
> La définition de "booléen" est un élément à 2 états, uniquement (on n'y
> coupe pas !).
>
> Tu parles d'éléments "coché, pas coché ou grisé" ; attention :
> - "coché/pas coché" sont les valeurs possibles du "champ" qui est de type
> booléen ;
> - "grisé/pas grisé" sont les valeurs possibles de la propriété "Actif" de
> ce même champ dans un formulaire qui est, elle-même (la propriété), de type
> booléen (d'ailleurs, il n'y a pas de valeur "Null" sur la ligne "Actif" d'un
> champ en création de formulaire...).
>
> Donc, avec tes 3 mots tu parles, en fait, de 2 éléments qui sont de type
> booléen (donc, 4 valeurs, en tout).
>
> Par contre, et c'est là, à mon sens, que Access pêche : en création de
> table, quand tu ajoutes un champ de type "oui/non", dans l'onglet "Général"
> (en bas), Access te propose "Null interdit : oui/non". Cette option devrait
> être supprimée car elle ne sert à rien : Access ne permet pas d'obtenir une
> valeur nulle pour un champ de type booléen.
>
> Tu peux faire le test en créant une table, par exemple :
> -Id N° auto
> -lib texte
> -bool oui/non (Null interdit = Non)
> Tu remplis cette table "sauvagement" ; si tu crées une requête sur cette
> table, il te sera impossible de trouver des enregistrements avec le filtre
> "bool est Null".
>
> Je ne sais pas si j'ai été tellement clair, sur ce coup là... en tout cas,
> c'est un sujet intéressant, analytiquement parlant.
>
> A bientôt,
> Richard.
>
>
> "Gloops" a écrit :
>
>> [Si trois valeurs, pas un booléen]
>>
>> Bonjour Richard,
>>
>> Pour ce qui est de la case à cocher, si je ne m'abuse il y a quelque
>> part une propriété tristate ? (enfin si je ne confonds pas avec un autre
>> produit)
>>



Avatar
Gloops
Richard_35 a écrit, le 18/03/2009 18:01 :
Bonjour Gloops,

La définition de "booléen" est un élément à 2 états, uniquement (on n'y
coupe pas !).

Tu parles d'éléments "coché, pas coché ou grisé " ; attention :
- "coché/pas coché" sont les valeurs possibles du "champ" qu i est de type
booléen ;
- "grisé/pas grisé" sont les valeurs possibles de la proprià ©té "Actif" de
ce même champ dans un formulaire qui est, elle-même (la propr iété), de type
booléen (d'ailleurs, il n'y a pas de valeur "Null" sur la ligne "A ctif" d'un
champ en création de formulaire...).

Donc, avec tes 3 mots tu parles, en fait, de 2 éléments qui s ont de type
booléen (donc, 4 valeurs, en tout).



Oui, 4 valeurs, sauf que si le champ n'est pas actif, sa valeur
(oui/non) est ignorée, donc, parmi les 4 valeurs, deux sont éga les. ça
me rappelle que l'œuf shadock est constitué de trois parties,
l'intérieur, l'extérieur, et l'entre-deux ... (pour mémoir e, l'intérieur
dépend exclusivement de l'extérieur, peut donc s'y confondre, l 'œuf
shadock est donc constitué d'extérieur et d'entre-deux, mais si il n'y a
qu'une autre partie la notion d'entre-deux perd son sens, l'Å“uf shad ock
est donc constitué exclusivement d'extérieur ; voilà au mo ins des
animaux ouverts).

De la même manière, dans le type "bool ou nul", à déf inir avec un module
de classe, il y a une valeur booléenne, mais qui n'est pas retournà ©e et
qu'il est impossible de connaître de l'extérieur, si la valeur "estnul"
est vraie.

Je crois que ça rend bien compte de ce qu'un champ booléen perm et si
"nul interdit" faux permet de créer un enregistrement sans renseigne r ce
champ.


Par contre, et c'est là, à mon sens, que Access pêche : en création de
table, quand tu ajoutes un champ de type "oui/non", dans l'onglet "Gà ©néral"
(en bas), Access te propose "Null interdit : oui/non". Cette option dev rait
être supprimée car elle ne sert à rien : Access ne perme t pas d'obtenir une
valeur nulle pour un champ de type booléen.

Tu peux faire le test en créant une table, par exemple :
-Id N° auto
-lib texte
-bool oui/non (Null interdit = Non)
Tu remplis cette table "sauvagement" ; si tu crées une requêt e sur cette
table, il te sera impossible de trouver des enregistrements avec le fil tre
"bool est Null".



Si tu dis ça c'est que tu as dû essayer. J'avoue que comme ç a de tête
j'aurais eu tendance à dire le contraire.


Je ne sais pas si j'ai été tellement clair, sur ce coup là ... en tout cas,
c'est un sujet intéressant, analytiquement parlant.



C'est sûr. En fait, ça donne l'occasion d'être clair sur c e qu'on
appelle un champ booléen qui peut être nul.
De même que dans tout sondage d'opinion qui se respecte il y a la
réponse "sans opinion", dans de nombreux cas il faut prévoir la réponse
"ah ben j'sais pô M'sieur", et la façon de l'implémenter d ans la base de
données. "Nul interdit" signifie "Bon, ben reprenez vos clics et vos
clacs, et revenez nous voir quand vous saurez". Dans certains cas, c'est
une réponse qui passe mal, et qui suggère que les informaticien s sont
des abrutis finis qui ne savent que raisonner dans des petites cases. :)
Avatar
Richard_35
Bonjour Gloops,

Intéressantes, tes réflexions...

En final, je résume :

- dans une table, il est impossible de trouver un champ "oui/non" (booléen)
à "Null". Je maintiens donc que l'option "Null interdit=Non" ne sert à rien
en ajout de champ "oui/non" dans une table.

- dans un formulaire, il est possible de poser une case à cocher = "Null" ;
mais dès que tu la stockes dans une table, elle devient "False". Donc, la
valeur "Null" est éphémère : le temps d'utilisation du formulaire pour,
éventuellement, tester ce champ en interactif pour obliger l'utilisateur à la
cocher ou pas.

Bonne soirée,
Richard.

"Gloops" a écrit :

Richard_35 a écrit, le 18/03/2009 18:01 :
> Bonjour Gloops,
>
> La définition de "booléen" est un élément à 2 états, uniquement (on n'y
> coupe pas !).
>
> Tu parles d'éléments "coché, pas coché ou grisé" ; attention :
> - "coché/pas coché" sont les valeurs possibles du "champ" qui est de type
> booléen ;
> - "grisé/pas grisé" sont les valeurs possibles de la propriété "Actif" de
> ce même champ dans un formulaire qui est, elle-même (la propriété), de type
> booléen (d'ailleurs, il n'y a pas de valeur "Null" sur la ligne "Actif" d'un
> champ en création de formulaire...).
>
> Donc, avec tes 3 mots tu parles, en fait, de 2 éléments qui sont de type
> booléen (donc, 4 valeurs, en tout).

Oui, 4 valeurs, sauf que si le champ n'est pas actif, sa valeur
(oui/non) est ignorée, donc, parmi les 4 valeurs, deux sont égales. ça
me rappelle que l'œuf shadock est constitué de trois parties,
l'intérieur, l'extérieur, et l'entre-deux ... (pour mémoire, l'intérieur
dépend exclusivement de l'extérieur, peut donc s'y confondre, l'œuf
shadock est donc constitué d'extérieur et d'entre-deux, mais si il n'y a
qu'une autre partie la notion d'entre-deux perd son sens, l'œuf shadock
est donc constitué exclusivement d'extérieur ; voilà au moins des
animaux ouverts).

De la même manière, dans le type "bool ou nul", à définir avec un module
de classe, il y a une valeur booléenne, mais qui n'est pas retournée et
qu'il est impossible de connaître de l'extérieur, si la valeur "estnul"
est vraie.

Je crois que ça rend bien compte de ce qu'un champ booléen permet si
"nul interdit" faux permet de créer un enregistrement sans renseigner ce
champ.

>
> Par contre, et c'est là, à mon sens, que Access pêche : en création de
> table, quand tu ajoutes un champ de type "oui/non", dans l'onglet "Général"
> (en bas), Access te propose "Null interdit : oui/non". Cette option devrait
> être supprimée car elle ne sert à rien : Access ne permet pas d'obtenir une
> valeur nulle pour un champ de type booléen.
>
> Tu peux faire le test en créant une table, par exemple :
> -Id N° auto
> -lib texte
> -bool oui/non (Null interdit = Non)
> Tu remplis cette table "sauvagement" ; si tu crées une requête sur cette
> table, il te sera impossible de trouver des enregistrements avec le filtre
> "bool est Null".

Si tu dis ça c'est que tu as dû essayer. J'avoue que comme ça de tête
j'aurais eu tendance à dire le contraire.


> Je ne sais pas si j'ai été tellement clair, sur ce coup là... en tout cas,
> c'est un sujet intéressant, analytiquement parlant.

C'est sûr. En fait, ça donne l'occasion d'être clair sur ce qu'on
appelle un champ booléen qui peut être nul.
De même que dans tout sondage d'opinion qui se respecte il y a la
réponse "sans opinion", dans de nombreux cas il faut prévoir la réponse
"ah ben j'sais pô M'sieur", et la façon de l'implémenter dans la base de
données. "Nul interdit" signifie "Bon, ben reprenez vos clics et vos
clacs, et revenez nous voir quand vous saurez". Dans certains cas, c'est
une réponse qui passe mal, et qui suggère que les informaticiens sont
des abrutis finis qui ne savent que raisonner dans des petites cases. :)





1 2