Menu

Requête à choix multiples [Résolu]

Messages postés
33
Date d'inscription
mercredi 25 janvier 2012
Dernière intervention
1 octobre 2018
- 9 sept. 2018 à 04:04 - Dernière réponse :
Messages postés
33
Date d'inscription
mercredi 25 janvier 2012
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!

Afficher la suite 

Votre réponse

8 réponses

Messages postés
6885
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 novembre 2018
- 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
Messages postés
33
Date d'inscription
mercredi 25 janvier 2012
Dernière intervention
1 octobre 2018
- 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
Messages postés
6885
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 novembre 2018
- 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
Messages postés
33
Date d'inscription
mercredi 25 janvier 2012
Dernière intervention
1 octobre 2018
- 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!!!

Messages postés
6885
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 novembre 2018
- 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.
Messages postés
33
Date d'inscription
mercredi 25 janvier 2012
Dernière intervention
1 octobre 2018
- 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

Messages postés
6885
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 novembre 2018
>
Messages postés
33
Date d'inscription
mercredi 25 janvier 2012
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
Messages postés
33
Date d'inscription
mercredi 25 janvier 2012
Dernière intervention
1 octobre 2018
- 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