Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/09/2011, 20h40   #1
Nouveau Membre du Club
 
Homme Alf Cedano
Inscription : septembre 2010
Messages : 71
Détails du profil
Informations personnelles :
Nom : Homme Alf Cedano
Localisation : France, Cher (Centre)

Informations forums :
Inscription : septembre 2010
Messages : 71
Points : 30
Points : 30
Par défaut Un même évenement qui peut avoir une ou plusieurs heures le même jour

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.
alfhcg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2011, 22h42   #2
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 446
Points : 4 446
bonsoir,

Evenement-----animer(animateur)-----Heure

l'association animer est de type "plusieurs à plusieurs".

==> une table supplémentaire associative:
Animer(#idEvenement, #idHeure, #idAnimateur)
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 18h24   #3
Nouveau Membre du Club
 
Homme Alf Cedano
Inscription : septembre 2010
Messages : 71
Détails du profil
Informations personnelles :
Nom : Homme Alf Cedano
Localisation : France, Cher (Centre)

Informations forums :
Inscription : septembre 2010
Messages : 71
Points : 30
Points : 30
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.
alfhcg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 18h50   #4
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 446
Points : 4 446
bonsoir,

voui, c'est bien ça

Citation:
Envoyé par f-leb Voir le message
==> une table supplémentaire associative:
Animer(#idEvenement, #idHeure, #idAnimateur)
clé primaire soulignée sur le couple {idEvenement, idHeure}

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.
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 00h23   #5
Nouveau Membre du Club
 
Homme Alf Cedano
Inscription : septembre 2010
Messages : 71
Détails du profil
Informations personnelles :
Nom : Homme Alf Cedano
Localisation : France, Cher (Centre)

Informations forums :
Inscription : septembre 2010
Messages : 71
Points : 30
Points : 30
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.
alfhcg est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h57.


 
 
 
 
Partenaires

Hébergement Web