Requête à choix multiples

Résolu/Fermé
dakomay Messages postés 33 Date d'inscription mercredi 25 janvier 2012 Statut Membre Dernière intervention 1 octobre 2018 - Modifié le 9 sept. 2018 à 04:07
dakomay Messages postés 33 Date d'inscription mercredi 25 janvier 2012 Statut Membre Dernière intervention 1 octobre 2018 - 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!

4 réponses

yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
Modifié le 9 sept. 2018 à 11:09
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.
0
dakomay Messages postés 33 Date d'inscription mercredi 25 janvier 2012 Statut Membre Dernière intervention 1 octobre 2018 1
9 sept. 2018 à 16:11
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é.
0
yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
9 sept. 2018 à 16:40
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.
0
dakomay Messages postés 33 Date d'inscription mercredi 25 janvier 2012 Statut Membre Dernière intervention 1 octobre 2018 1
Modifié le 9 sept. 2018 à 17:16
lien entre le niveau de l’élève et le niveau de la période



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

0
yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
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.
0
dakomay Messages postés 33 Date d'inscription mercredi 25 janvier 2012 Statut Membre Dernière intervention 1 octobre 2018 1
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

0
yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > dakomay Messages postés 33 Date d'inscription mercredi 25 janvier 2012 Statut Membre Dernière intervention 1 octobre 2018
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
0
dakomay Messages postés 33 Date d'inscription mercredi 25 janvier 2012 Statut Membre Dernière intervention 1 octobre 2018 1
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.
0