|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : février 2007 Messages : 509 ![]() |
Bonjour, j'aimerai crée une bd qui me permettent de rentrer les resultats de divers test de sport connu, et ainsi d'aprés ces résultats selon le sexe et la fourchette d'age de la personne, savoir si elle est APTE ou INAPTE.
Donc pour cela j'ai crée une table PERSONNEL : Nom, Prénom, Date de naissance, et le choix du sexe une autre table RESULTATS : avec un champ pour les tests de sports un champ pour leur date de réalisation et un champ pour les résultats ensuite j'ai crée une requete AGE_PERSONNEL : avec ce champ "Age: DiffDate("aaaa",[p_Naissance],Maintenant())" qui me permet d'avoir l'age de la personne. mais je ne sais pas comment faire pour dire ; Si un homme à entre 18 et 23 et qu'il à un score entre 15 et 21 aux test de traction il est apte, sinon il est inapte. Je ne sai pas comment faire cela, je pense qu'il faut crée un requete ??? |
|
|
00
|
|
|
#2 |
![]() ![]() |
bonjour,
tu peux mettre dans tes requêtes des critères sur l'age et la note, exemple: Code :
UPDATE MaTable SET APTE=-1 WHERE AGE BETWEEN 18 AND 23 AND SCORE BETWEEN 15 AND 21 |
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : février 2007 Messages : 509 ![]() |
![]() J'ai donc crée ma requéte qui d'aprés les valeurs rentrée dans une table, celle ci rempli la requete, ainsi comme on peut le voir sur la photo on a : - le nom de la personne - son age (calculé par la requete) - son sexe (Homme ou femme) - l'épreuve qu'il à fait (parmis les 6 épreuves disponibles ; Killy, tractions, pompes, luc leger, gainage, souplesse) - le résultat de l'épreuve - la date de la réalisation de l'épreuve - le nom de l'instructeur qui la noté - et enfin les 4 derniére case corresspande à la 1er 2éme 3éme ou 4éme séance qu'il réalise. ![]() Maintenant j'aimerais crée un mention APTE ou INAPTE d'aprés les résultats de l'épreuve qu'il réalise selon les critéres suivants : si il est de sexe masculin Pour l'épreuve du Killy : agé de 18 à 29 ans il est APTE si son résultat est compris entre 110 et 119. agé de 30 à 39 ans il est APTE si son résultat est compris entre 99 et 109 agé de 40 à 49 ans il est APTE si son résultat est compris entre 86 et 95. Pour l'épreuve des pompes : agé de 18 à 29 ans il est APTE si son résultat est compris entre 18 et 19. agé de 30 à 39 ans il est APTE si son résultat est compris entre 15 et 17 agé de 40 à 49 ans il est APTE si son résultat est compris entre 14 et 15. ect... pour les autres épreuve et si la personne est une femme les critéres de resultat change encore. Est ce que vous pensez que cela est réalisable ? avec les requetes, dois je crée une requéte pour chaque condition ? (il en faudrais plus de 50 dans ce cas !) et comment faire pour crée un champ dans ma requetes qui me définira si la personne est apte ou inapte ??? Merci pour votre aide. |
|
|
00
|
|
|
#4 |
![]() ![]() |
hello,
tu peux te faire une table en plus du style T_Conditions iConditionID iAgeMin iAgeMax bHomme iScoreMin iScoreMax |
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : février 2007 Messages : 509 ![]() |
d'accord et aprés comment jpeu faire pour que cela coincide avec ma requete ?
|
|
|
00
|
|
|
#6 | ||
![]() ![]() |
ben tu mets dans ta requêtes toutes les conditions :
Code :
|
||
|
00
|
|
|
#7 | ||
|
Membre régulier
![]() Inscription : février 2007 Messages : 509 ![]() |
d'accord j'ai crée ma table avec ces conditions mais maintenant comment faire corresspandre cela avec ma requete ?
est surtout comme faire pour qu'il obtiennent la menssion APTE ou INAPTE ??? voila ma table avec les conditions qui fixe la personne apte ![]() et voila ma requete avec la table condition mais comment insérer les conditons : ![]() et ce que tu me dis c'est de rentre tous "betwen" en code sql, mais je ne sais pas du tous ou placer ça dans tous ce code : Code :
Désolé pour ma difficulté de compréhension. merci pour ton aide |
||
|
|
00
|
|
|
#8 |
![]() ![]() |
salut,
tu auras une requête du style: Code :
SELECT Count(iCondition) FROM T_Condition, T_Personnel WHERE T_Personnel.AGE BETWEEN iAgemin AND iAgeMax AND iEpreuve='Killy' AND T_Personnel.bSexe = 'Homme' AND T_Personnel.iScore BETWEEN iScoreMin AND iScoreMax; |
|
00
|
|
|
#9 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 098 ![]() |
Bonjour,
Pourquoi une valeur Max ? Si un homme de 40 fait plus de 95 au test de Killy est-il Inapte ? La question vaut le coup d'être posée, suivant la réponse on va pouvoir s'affranchir de tout un tas de contrainte where. Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#10 |
|
Membre régulier
![]() Inscription : février 2007 Messages : 509 ![]() |
c'est vrai loufab il n'y a pas besoin de valeur max juste de valeur mini
car une personne entre 18 à 29 ans est APTE si son résultat est supérieur à 110. comment écrire cela en SQL, dans ce cas iScoreMax n'est pas nécessaire, et donc par quoi remplacer BETWEEN et jpchek j'ai fait ce que tu ma dit mais j'obtient ce message : entrer une valeur de paramètre : iCondition
|
|
|
00
|
|
|
#11 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 098 ![]() |
Tous simplement remplacer le between Borne1 and Borne2 par
pour du supérieur strict pour du supérieur ou égale On s'affranchi de la colonne Max. Je pense qu'en y regardant de plus près on peut encore apporter des améliorations (pour les tranches d'ages notamment). Peux-tu poster un exemple de tes données (juste les tables) ? si j'ai le temps je vais y regarder de plus près.
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#12 |
|
Membre régulier
![]() Inscription : février 2007 Messages : 509 ![]() |
ok donc voila de quoi est constitué ma base de donnée :
ma table condition qui fixe l'age et le score mini à atteindre sinon on est INAPTE: ![]() ma table personnel qui regroupe toutes les personnes, et qui fixe la date de naissance, et le sexe : ![]() ma table registre qui permet de rentrer les scores obtenu par les personnes au différents tests de sport avec la date de réalisation et le moniteur de sport : ![]() enfin la requete age_personnel qui affiche les resultats de la table personnel et la table registre tout en affichant le sexe et l'age : ![]() Ainsi je compte me servir de cette derniére requetes pour dire une personne : Pour l'épreuve du Killy : agé de 18 à 29 ans est APTE si son résultat est supérieur ou égal à 110 . agé de 30 à 39 ans est APTE si son résultat est supérieur ou égal à 99. agé de 40 à 49 ans est APTE si son résultat est supérieur ou égal à 86. etc. obtienne la mention APTE les autres la mention INAPTE. UN GRAND GRAND merci pour ton aide
|
|
|
00
|
|
|
#13 |
|
Membre régulier
![]() Inscription : février 2007 Messages : 509 ![]() |
Personne pour m'aider
|
|
|
00
|
|
|
#14 | ||
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 098 ![]() |
Affirmatif mon adjudant !
Voici une ébauche : killy, homme, tout age, tout résultat Code :
A developper !
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
||
|
00
|
Copyright © 2000-2012 - www.developpez.com