Menu

Requête à choix multiples [Résolu]

dakomay 27 Messages postés mercredi 25 janvier 2012Date d'inscription 10 septembre 2018 Dernière intervention - 9 sept. 2018 à 04:04 - Dernière réponse : dakomay 27 Messages postés mercredi 25 janvier 2012Date d'inscription 10 septembre 2018 Dernière intervention
- 10 sept. 2018 à 00:30
Bonjour,

Je suis dépassé…

Dans une table, contenant plusieurs champs j’ai un champ [É-numérique] et [Niveau enfant]

3500 enfants [Niveau enfants] fréquentant 14 écoles [É-numérique] qui ont 1,2 ou 3 périodes de dîners. Chaque période de dîner regroupe des enfants de différent niveau.

Je dois établir la période de repas pour chaque enfant selon sont niveau et l'école fréquenté.

Le souci c’est que chaque école a un regroupement différent de niveau par périodes de dîners;

École #216
Dîner - 1 : 00
Dîner - 2 : 01, 02, 03, 04
Dîner - 3 : 05, 06

École #213
Dîner - 1 : 03, 04, 05, 06
Dîner - 2 : 01, 02, 03, 04
Dîner - 3 :

École #501
Dîner - 1 : 00, 01, 02
Dîner - 2 : 03, 04, 05, 06
Dîner - 3 :

J’ai fait une requête

Dîner: VraiFaux([É-numérique]=213;(VraiFaux([Niveau enfant]="01";2;VraiFaux([Niveau enfant]="02";2;1)));VraiFaux([É-numérique]=238;(VraiFaux([Niveau enfant]="05";2;VraiFaux([Niveau enfant]="06";2;1)));VraiFaux([É-numérique]=225;(VraiFaux([Niveau enfant]="01";2;VraiFaux([Niveau enfant]="02";2;1)));VraiFaux([É-numérique]=217;(VraiFaux([Niveau enfant]="05";2;VraiFaux([Niveau enfant]="06";2;1)));VraiFaux([É-numérique]=224;(VraiFaux([Niveau enfant]="07";2;VraiFaux([Niveau enfant]="08";2;1)));VraiFaux([É-numérique]=215;(VraiFaux([Niveau enfant]="03";1;VraiFaux([Niveau enfant]="01";1;VraiFaux([Niveau enfant]="02";1;2))));VraiFaux([É-numérique]=218;(VraiFaux([Niveau enfant]="04";2;VraiFaux([Niveau enfant]="05";2;VraiFaux([Niveau enfant]="06";2;1))));VraiFaux([É-numérique]=216;(VraiFaux([Niveau enfant]="00";1;VraiFaux([Niveau enfant]="05";3;VraiFaux([Niveau enfant]="06";3;2))));VraiFaux([É-numérique]=501;(VraiFaux([Niveau enfant]="00";1;VraiFaux([Niveau enfant]="01";1;VraiFaux([Niveau enfant]="02";1;2)))))))))))))

Le problème c’est que je ne peux ajouter d’autres école car ça me dit que le maximum est atteint…y a-t-il une solution plus simpliste à mon problème?

Merci de votre aide!

Afficher la suite 

Votre réponse

8 réponses

yg_be 6476 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 21 septembre 2018 Dernière intervention - Modifié par yg_be le 9/09/2018 à 11:09
0
Merci
bonjour, si j'ai compris, tu as une table de nom inconnu, avec un enregistrement par enfant, avec un champ [É-numérique] qui représente l'école de l'enfant et un champ [Niveau enfant] qui représente le niveau de l'enfant.
est-ce exact?
il me semble que le moment est venu de créer une seconde table, disons periodes, avec trois champs: ecole, niveau et periode. mets-y une clé unique sur la combinaison ecole, niveau.
il suffira ensuite de faire une requête sur ces deux tables.
en passant: ce que tu as fait n'est pas une requête, c'est une formule.
Commenter la réponse de yg_be
dakomay 27 Messages postés mercredi 25 janvier 2012Date d'inscription 10 septembre 2018 Dernière intervention - 9 sept. 2018 à 16:11
0
Merci
1) Oui

2) Table période



3) Clé unique sur combinaison?



4) Requête (N°Enfant) ce retrouve sur deux périodes de dîner ?!?!?



5) Oui effectivement, désolé je me suis mal exprimé.
Commenter la réponse de dakomay
yg_be 6476 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 21 septembre 2018 Dernière intervention - 9 sept. 2018 à 16:40
0
Merci
oublions temporairement la clé secondaire, elle aura pour but d’empêcher d'avoir deux fois la même combinaison école/niveau.
il faut ajouter dans les relations un lien entre le niveau de l’élève et le niveau de la période.
Commenter la réponse de yg_be
dakomay 27 Messages postés mercredi 25 janvier 2012Date d'inscription 10 septembre 2018 Dernière intervention - Modifié par dakomay le 9/09/2018 à 17:16
0
Merci
lien entre le niveau de l’élève et le niveau de la période



Requête : L'enfant `a deux périodes!!!

yg_be 6476 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 21 septembre 2018 Dernière intervention - 9 sept. 2018 à 17:35
par "ajouter dans les relations un lien entre le niveau de l’élève et le niveau de la période", je pensais ajouter ce lien au lien existant entre l'école de l'élève et l'école de la période.
l'élève est lié à la période par deux champs, école et niveau.
dakomay 27 Messages postés mercredi 25 janvier 2012Date d'inscription 10 septembre 2018 Dernière intervention - 9 sept. 2018 à 20:42
Ouf...vrmt pas évident. J'ai tenté toutes les variantes. Certaines étaient proche du tésultat escompté mais renvoyait que certaine écoles. Dans cette exemple ca me renvoie que trois écoles

yg_be 6476 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 21 septembre 2018 Dernière intervention > dakomay 27 Messages postés mercredi 25 janvier 2012Date d'inscription 10 septembre 2018 Dernière intervention - 9 sept. 2018 à 20:57
je pense à ces options:
- tu partages ton fichier
- tu partages le code SQL de la requête
- tu n'utilises pas la table école pour cette requête (tu ne l'avais d'ailleurs pas mentionné au départ)
- tu utilises ceci (corrige le nom des tables et des champs, que tu n'as pas partagé sauf comme image, pas pratique du tout):
select * from commandes as c, periodes as p
where
c.[É-numérique] = p.ID_T_écoles
and C.[Niveau enfant]= p.Niveau
dakomay 27 Messages postés mercredi 25 janvier 2012Date d'inscription 10 septembre 2018 Dernière intervention - 10 sept. 2018 à 00:30
Je suis bête...je n'avais pas complété la table période avec TOUTES les écoles. Tout fonctionne comme vous l'aviez dit.
Commenter la réponse de dakomay