Renseigner le sexe de la personne [Access] - SQL/NoSQL - Programmation
Marsh Posté le 21-01-2008 à 12:26:17
INTEGER ?
Marsh Posté le 21-01-2008 à 12:43:49
booléen me semble amplement suffisant
à moins que tu ne veuilles gérer aussi les transexuels...
Marsh Posté le 21-01-2008 à 14:33:27
En booléen, je peux mettre F ou H ?
Comment dois je procéder ?
Marsh Posté le 21-01-2008 à 14:42:53
Tu peux mettre true ou false... Donc suffit de mapper gonzesse sur true, et mec sur false
Marsh Posté le 21-01-2008 à 14:47:32
Comment fait-on pour attribuer un mot à vrai et à faux ?
Marsh Posté le 21-01-2008 à 14:53:38
Ouaip Sinon un entier, avec 0 = mec, 1 = nana. Comme ça on peut rajouter des types de sexe (inconnu, shemale, etc.), et ça peut facilement se mapper sur un groupe d'options ou sur une liste de sélection
Marsh Posté le 21-01-2008 à 14:55:43
ou alors tu mets un varchar(50) et dedans tu peux écrire :
"féminin"
"masculin"
"indéterminé"
"indéterminable"
"autre"
"n'habite plus à cette adresse"
"pas trop souvent"
"de bonne taille"
"ceci ne vous regarde pas"
etc.
Marsh Posté le 21-01-2008 à 14:56:21
oui voilà je vais faire comme ca, car il y a effectivement des inconnus.
Merci
Marsh Posté le 21-01-2008 à 14:58:06
inconnu en tant normal, c'est la valeur "null" (et non le texte "null" )...
Marsh Posté le 21-01-2008 à 15:06:52
mon problème dans ce cas, c'est que je travail sur une base déjà présente, il y a déjà des personnes de sexe inconnu.
Et avec une requête de mise à jour, je ne peux pas attribuer null à quelqu'un d'inconnu, ca me met faux. Or pour les hommes je met vrai et pour les femmes je met faux
Marsh Posté le 21-01-2008 à 15:07:48
si, avec une requête, tu peux sans problème mettre NULL dans un type booléen...
Marsh Posté le 21-01-2008 à 15:10:54
Ah !
ma requête n'est pas bonne alors :
Code :
|
j'ai fait pareil pour homme et femme et ca marche mais là ca me met faux, comme les femmes
Marsh Posté le 21-01-2008 à 15:27:23
(je corrige ce que j'ai dis)
tu peux mettre NULL à un champ booléen SAUF avec Access, qui ne sait pas rendre null un champ de ce type
je viens de vérifier, et effectivement pour lui c'est pas nullable comme champ, c'est 0 ou 1, et pas autrechose
donc un entier me semble une bonne solution alternative...
utiliser un autre SGBD me semble une alternative encore meilleure
Marsh Posté le 21-01-2008 à 15:30:44
c'est ce que j'ai remarqué oui.
Donc du coup j'ai 0 pour inconnu, 1 pour homme et 2 pour femme.
Merci
Marsh Posté le 21-01-2008 à 15:31:57
Avec SQL Server en tout cas à ça marche bien :
Code :
|
|
Marsh Posté le 21-01-2008 à 15:35:49
PS : Au risque d'être un peu lourd...
Vu que de toute façon ça marche pô, autant y aller franchement...
Moi j'utiliserais plutôt un char(1) pour stocker du coup :
"M"/"F" et " " pour inconnu. l'intérêt c'est que ça parle tout de suite quand t'as la table sous les yeux. parceque là, au premier coup d'oeil on sait pas quel chiffre correspond à quoi.
Marsh Posté le 21-01-2008 à 15:46:34
Bon j'ai fait comme tu as dit finalement.
Après dans le formulaire de saisie, si je veux mettre une case à cocher pour renseigner ce champ, c'est possible de mettre 3 cases à cocher pour Homme, Femme et inconnu ?
Marsh Posté le 21-01-2008 à 16:00:10
3 solutions :
- Une case à cocher : non coché = "F", coché = "M", moitié-coché = " ", si Access supporte une case à cocher à 3 états
- Trois radio boutons : F, M et vide (l'avantage des boutons radio, c'est qu'on ne peut pas avoir plusieurs valeurs en même temps)
- Liste déroulante avec 3 options
Eventuellement, une 4° solution, une case de texte libre, mais t'es pas à l'abrit qu'une personne saisisse "H" par exemple
Marsh Posté le 21-01-2008 à 16:11:29
MagicBuzz a écrit : booléen me semble amplement suffisant |
Perso j'utilise le type ENUM avec '0','1' ou 'F','M'.... 1 Pour le mec et 0 pour la nana... c'est une astuce mnémotechnique
Spoiler : Astuce... très imagée |
Par contre, je sais plus si un équivalent d'ENUM existe en Access
Marsh Posté le 21-01-2008 à 16:27:23
Oui y'a un équivalent : on peut spécifier une liste de valeur dans Access, mais ce n'est pas vraiment le même comportement.
C'est plutôt une contrainte sur le champ qu'un type à part.
Marsh Posté le 21-01-2008 à 16:41:16
ok, j'vais utiliser les radios boutons dans ce cas là.
les radios boutons, via l'assistant me propose seulement de mettre des valeurs numériques, or dans ma table c'est char(1).
je chanque en numérique du coup ?
Ou il y a une autre solution ?
Marsh Posté le 21-01-2008 à 16:43:58
honnêtement, je trouve la liste déroulante bien plus pratique, et ça prend moins de place à l'écran
Marsh Posté le 21-01-2008 à 16:47:06
La place sur l'écran ne sera pas un problème, surtout, il faut que lors de la saisie, ca soit le plus rapide, si possible tout au clavier ...
Marsh Posté le 21-01-2008 à 16:48:51
4rocky4 a écrit : La place sur l'écran ne sera pas un problème, surtout, il faut que lors de la saisie, ca soit le plus rapide, si possible tout au clavier ... |
ça tombe bien :
TAB pour avoir le focus sur le champ
Et "M", "F", ou "I" au clavier va directement sélectionner la valeur qui commence par cette lettre. On ne peut pas faire plus rapide
Marsh Posté le 21-01-2008 à 17:03:39
ok bah parfait c'est bon
Marsh Posté le 22-01-2008 à 09:10:10
4rocky4 a écrit : La place sur l'écran ne sera pas un problème, surtout, il faut que lors de la saisie, ca soit le plus rapide, si possible tout au clavier ... |
En tous cas, même si t'as beaucoup de chemin à faire, tu te poses déjà les bonnes questions
Marsh Posté le 22-01-2008 à 09:23:39
En effet access et les bases de données, c'est pas mon truc :s
J'ai une autre question toujours à propos du formulaire mais pas sur le sexe de la personne, j'ouvre un autre sujet ?
Marsh Posté le 22-01-2008 à 09:34:51
je reste là alors.
Donc enfaite je fais un formulaire de saisie de contact.
j'ai donc maintenant toutes les informations que l'on me demande dedans, mais il faudrait que je traite les demande aussi dans ce formulaire.
un contact peut effectuer une ou plusieurs demande. (3 au maximum)
une demande peut être effectuer par aucun ou plusieurs contacts.
(un contact ne peut pas faire 2 fois la meme demande)
Dans ma base, j'ai donc fait une cim avec CONTACT, EFFECTUER et DEMANDE.
Dans le formulaire de saisie du contact, je voudrais que l'on puisse choisir le nombre de demandes que l'on a puis les entrer.
Comment dois-je procéder ?
Marsh Posté le 22-01-2008 à 14:49:34
ne serait-il pas possible de mettre un bouton "demandé" puis de selectionner la demande que l'on désire grâce à une liste déroulante et que le code renvoye le numéro de la demande dans la table effectué ?
Marsh Posté le 23-01-2008 à 08:49:38
Marsh Posté le 21-01-2008 à 12:17:19
Bonjour,
Quel type de champ utiliser pour le renseignement du sexe de la personne ?
Le plus utile par la suite.
Merci par avance
---------------
- Un con qui marche ira plus loin qu'un intellectuel assis -