|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Alf CedanoInscription : septembre 2010 Messages : 71 ![]() |
Bonjour à tous.
J'ai une table "tblEven", avec les champs IdEven, Even, DateEven, IdHeure, IdAnimateur... Le champ IdHeure est liée à "tblHeures" qui contient (IdHeure, txtHeure) Le champ IdAnimateur est lié à "tblAnimateurs" qui contient (IdAnimateur, Animateur) Un même événement peut avoir lieu le même jour dans : une, deux ou trois heures différentes et il aurait aussi un Animateur pour chaque heure. Serait-il possible d'avoir un seul enregistrement de l’événement et lui indiquer l(es) heures différentes ainsi que l(es) animateurs? Une possible solution serait de créer des combinaisons d'heure dans le champ txtHeure et les placer dans un combobox, par exemple: "08h30 - 10h30 - 18h00" si l’événement au lieu pendant ces trois heures, ou "08h30" s'il n'a lieu qu'à 8h30, ou bien "10h30 - 18h00", étc... Même chose pour les animateurs. Après je pourrais prendre chaque heure et animateur avec la fonction split par exemple, mais je devrais obliger l'utilisateur à prendre des combobox pareils pour le nombre d'heures et d'animateurs, c'est à dire, s'il choisit un combo qui a trois heures différentes, qu'il choisisse aussi un combo avec trois animateurs... Puis, si je souhaite faire de statistiques (par exemple combien de fois un animateur a été responsable d'un événement ou combien de fois un événement a eu lieu a une heure spécifique... cela pourrait être compliqué... Peut-être y-a-t-il une façon plus simple de le faire? Je vous remercie si vous avez des idées à me donner. |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
bonsoir,
Evenement-----animer(animateur)-----Heure l'association animer est de type "plusieurs à plusieurs". ==> une table supplémentaire associative: Animer(#idEvenement, #idHeure, #idAnimateur)
__________________
L'informatique fait son grand retour au lycée... |
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Alf CedanoInscription : septembre 2010 Messages : 71 ![]() |
Merci pour la réponse.
Je reviens sur la question après quelques jours sans pouvoir travailler sur access. Si j'ai bien compris, la solution serait de créer une tblAnimer avec les champs: IdEvenement IdHeure IdAnimateur ...et sur cette table créer un registre pour chaque événement, heure et animateur différents? Par exemple, -si l’événement 1 a lieu dans deux heures différentes et il est animée par deux personnes différentes j'aurais: IdEvenement - IdHeure - IdAnimateur 1................... 1 ........... 1 1................... 2 ........... 2 -si l’événement 2 a lieu dans deux heures différentes et il est animée par la même personne j'aurais: IdEvenement - IdHeure - IdAnimateur 2................... 1........... 1 2................... 2........... 1 -si l’événement 3 a lieu dans trois heures différentes et il est animée par trois personnes différentes j'aurais: IdEvenement - IdHeure - IdAnimateur 3................... 1........... 1 3................... 2........... 2 3................... 3........... 3 Je voudrais savoir si c'est bien ainsi pour continuer voir la façon de créer mes formulaires et mes états. Merci. |
|
|
00
|
|
|
#4 | |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
bonsoir,
voui, c'est bien ça ![]() Citation:
ou encore si on préfère (si la table Animer est raccordée à d'autres tables par exemple): Animer(idAnimer(numeroAuto), #idEvenement, #idHeure, #idAnimateur) avec un index "unique" sur {idEvenement, idHeure} bonne continuation.
__________________
L'informatique fait son grand retour au lycée... |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Alf CedanoInscription : septembre 2010 Messages : 71 ![]() |
Merci Fabien.
Cela marche impeccable. Il m'a fallut travailler les relations entre les tables, la conception des états et de formulaires, mais cela marche sans aucun souci. Milles mercis pour tes lumières. Je marque resolu.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com