[Access/MySQL] Valeur oui/non/neutre

Résolu/Fermé
Rikkunter Messages postés 6021 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 9 novembre 2011 - 30 mai 2008 à 08:44
Rikkunter Messages postés 6021 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 9 novembre 2011 - 20 juin 2008 à 13:16
Bonjour,

Voilà, j'ai une base de données à développer, et à vrai dire je croche depuis un petit moment sur un problème plutôt moindre...
Ma BDD est bientôt finie, à vrai dire il ne reste que deux petits problèmes, que je vais expliquer sur ce forum.
Pour ce topic, il s'agit d'un problème d'une valeur oui/non, et qui peut être null.

Pour vous mettre dans le bain, je gère les absences des élèves, les coches, les excuses, etc.
Le "souci" est que je dois noter si une excuse donnée par l'élève a été excusée, acceptée (oui), refusée (non), ou en attente (neutre, null)
J'ai vu quelques sites là dessus avec du -1/0 ou je ne sais quoi, mais aucun ne traitait un résultat null. Donc je m'adresse à vous.

Ma BDD est créée en MySQL, et le champ se trouve dans TB_ABSENCES, avec la ligne suivante :

EXC_ABS                        numeric(1,0)


Impossible donc d'entrer un chiffre + grand que 9, null autorisé. Je pensais à 1 pour excusée, 0 pour non excusée et null pour 'en attente' ...
Donc bloquer le choix à ses 3 possibilités, et laisser apparaître dans la base de données un "oui", "non", "en attente", au lieu de vulgaires chiffres non parlants.

Je vous serais vraiment reconnaissante de m'aider.

Merci !
A voir également:

4 réponses

Rikkunter Messages postés 6021 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 9 novembre 2011 180
30 mai 2008 à 14:29
Up ?
0
lina012 Messages postés 51 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 21 juillet 2008
3 juin 2008 à 15:35
salut Rikkunter

je ne sais pas si tu as résolu ton problème , en tout cas je te propose d'utiliser le type ENUM pour MySQL... je pense pas que c'est possible d'utiliser le check
Avec le type ENUM , on peut bloquer le choix à 3 possibilités (type chaine).

EXC_ABS ENUM ('acceptée' , 'refusée' , 'en_attente') NOT NULL ,

par contre, je ne suis pas sûre que ça va marcher, je suis débutante dans le domaine !!! ;)

bon courage et n'oublie pas de poster pour nous dire ce qu'il en est !!!
0
Rikkunter Messages postés 6021 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 9 novembre 2011 180
3 juin 2008 à 15:56
Merci pour cette réponse ! :)

Non pas résolu, je regarde encore là dessus et j'ai fait quelques tests avec la valeur que j'avais mise.
En gros, j'ai fait la même donnée, et je l'ai raccordée à une case à cocher...

Quand la valeur était de 0, la case était décochée (négatif)
Quand la valeur était de -1 ou autre chiffre (2, 3, 6, 7, 9 ...), la case était cochée (positif)
Quand la valeur était vide, la case était désactivée (null)

Donc je pense procéder comme suit :

Faire trois test dans le code de mon applic en VBA

Si la valeur = 0
champ.value = non
Sinon, si la valeur = null
champ.value = en attente
Sinon
champ.value = oui

C'est expliqué rapidos mais pas encore pu tester... Je tiens au courant si jamais ;)
Merci pour le conseil au fait, si jamais je n'arrive pas à mes fins je me pencherai plus sur ta méthode :)
0
lina012 Messages postés 51 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 21 juillet 2008
3 juin 2008 à 16:04
oui je vois ce que tu veux faire, tu récupère les données et tu teste.
moi ce que je t'ai proposé c'est plutôt une requête sql à intégrer ...
en tout cas tu véras...
sinon bon courage , j'attendrai ta réponse pour savoir ce qui a marché .
A bientôt !!!
0
Rikkunter Messages postés 6021 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 9 novembre 2011 180
20 juin 2008 à 13:16
Rebonjour,

Désolée d'avoir été si longue à répondre, mais j'ai perdu mon application Access et j'ai du tout recommencer :(

Finalement, pour mes valeurs, j'ai utilisé une simple case à cocher avec le null autorisé... Et la case à cocher est rattachée à la valeur qui défini si l'absence est excusée/annoncée ou non... Voiloù :)
0