IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Modélisation Discussion :

problème dans les relations et clés primaires


Sujet :

Modélisation

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 8
    Points : 5
    Points
    5
    Par défaut problème dans les relations et clés primaires
    Bonjour,
    Je débute dans access et je souhaiterais faire une base de données pour une association musicale pour 3 types d'évènements
    1) les contrats et propositions de contrats en tenant compte des absences éventuelles de certains intervenants
    2) les répétitions en tenant compte des absences éventuelles de certains intervenants
    3) les absences de chaque intervenant pour l'une ou l'autre des évènements

    J'ai des difficultés concernant la date

    Je souhaiterais en interrogeant une date obtenir l'information de la disponibilité de la date et la disponibilité de mes intervenants

    Dois-je créer une table date générale

    J'ai établi des relations mais étant néophyte je crains m'être trompé

    Je vous joins ma base si quelqu'un peut me guider sur la marche à suivre

    Merci d'avance

    Willis
    Fichiers attachés Fichiers attachés

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 703
    Points : 57 339
    Points
    57 339
    Billets dans le blog
    41
    Par défaut
    Bonjour Willis,

    Je décris ce que j’ai compris de ton fichier :
    Un contrat concerne un client et lie plusieurs intervenants. Un intervenant peut d’ailleurs être lié à plusieurs contrats.

    Ensuite si j’ai bien compris tu veux connaître les intervenants absents aux répétitions :
    Repetition-1-------∞-EtreAbsentRepet-∞-------1-Intervenant
    EtreAbsentRepet(#idRepetition, #idIntervenant)
    (sachant qu’il y a déjà un champ DateRepetition, on connait le jour de l’absence)

    Si tu veux marquer les absences à toute la durée d’une manifestation :
    Contrat-1-------∞-EtreAbsentManif-∞-------1-Intervenant
    Là aussi il y a déjà un champ DateManifestation (manifestation d’un jour apparemment)

    Une autre possibilité est de regrouper les absences dans une même table Absence :
    Absence-∞------1-Intervenant
    Absence-∞-------1-Contrat....puis....Absence-∞-------1-Repetition
    Dans la table Absence tu rajoutes un champ pour typer l’absence (absence à une répétition seulement, absence totale lors d’une manifestation, …)

    Si tu veux générer un calendrier ou un planning, une méthode pratique et rapide consiste à générer une table : Calendrier (DateCalendrier) comprenant toutes les dates de l’année par exemple (en fait tu génères ton calendrier sous Excel et tu l’importe sous Access dans ta table Calendrier).

    Ensuite tu relies tes dates de contrats/répétitions au calendrier:
    Contrat-∞-------1-Calendrier
    Repetition-∞------1-Calendrier

    Bon, j’ai tiré un peu à l’aveuglette. N’oublie pas de préciser tes règles de gestion si certains points ne conviennent pas.

    A suivre…

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 8
    Points : 5
    Points
    5
    Par défaut re_problème de dates et relations
    Bonjour F-leb

    Un grand Merci pour m'avoir dispensé du temps j'ai essayé de faire ta solution, mais je crois m'être mal exprimé dans ma question.

    En fait je cherche a faire un outil de planning pour les intervenants et moi

    1) pour eux de manière à leur envoyer un planning régulier des contratsmanifestations avec les détails (horaires ... lieux etc), ainsi que des répétitions

    2) pour moi de manière a connaitre très rapidements les contrats de manifestations et la disponibilité de chaque intervenant pour cette manifestation
    et bien naturellement la disponibilité de la date

    Sachant que les intervenants ne sont pas tous les mêmes en fonction de la manifestation

    Sachant qu'une répétition ne sera jamais le même jour qu'une manifestation mais qu'il peut y avoir 2 manifestations le même jour avec des intervenants identiques ou différents et après examen je n'ai pas besoin de connaitre leur absence en répétition

    Sachant que les absences sont connues d'avance (cette table sert juste a savoir si tel musicien n'est pas en vacances)

    J'ai donc créé suite à tes conseils une table calendrier et je me heurte a plusieurs problèmes

    Une date de calendrier est unique mais peut correspondre à une manifestation dans la table manifestation et une ou plusieurs absences dans la table absence

    ... j'ai fait une relation [id-n° auto datecalendrier] un ....... plusieurs [datemanisfestation]
    une seconde [id-n° auto datecalendrier] un ....... plusieurs [dateabsence] pour ces 2 relations j'ai mis un type 3 (Inclure TOUS les enregistrements de la table « T-contrats » et seulement ceux de la table « T-Calendrier » pour lesquels les champs joints sont égaux)
    Je ne peux apparement pas appliquer d'intégrité référentielle.

    Lorsque j'ai essayé d'executer ma requête je me trouvais avec les noms des intervenants absents dans tous les contrats
    J'ai pourtant lu et relu les très bons tutoriels de DPC mais je dois m'y prendre mal avec les relations ... jointures et integrité référentielle ... peux tu m'aider sur l'exactitude de mon paramétrage de ces fameuses relations


    D'autre part suis-je obligé de créer une table détails répétition comme je l'ai fait pour la table contrats sachant que je peux avoir en répétition un ou plusieurs intervenants


    Merci et bon dimanche

    Willis
    Fichiers attachés Fichiers attachés

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 703
    Points : 57 339
    Points
    57 339
    Billets dans le blog
    41
    Par défaut
    Bonjour,
    ... j'ai fait une relation [id-n° auto datecalendrier] un ....... plusieurs [datemanisfestation]
    Tu fais une jointure sur deux champs qui ne sont pas de même type (type "Date" codé sur 8 octets avec un "Numauto" codé sur 4 octets).
    En fait, tu peux te servir du champ "jour" comme clé primaire et champ unique de la table : T_Calendrier( Jour ).

    D'autre part suis-je obligé de créer une table détails répétition comme je l'ai fait pour la table contrats sachant que je peux avoir en répétition un ou plusieurs intervenants
    Affirmatif, car dans ton modèle ci-joint: une répétition → un intervenant, ce qui ne correspond pas à tes règles de gestion.
    Bon dimanche.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 8
    Points : 5
    Points
    5
    Par défaut un grand merci F-leb
    un grand merci F-leb ton aide m'a été précieuse

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Macro avec filtre sur formulaire
    Bonjour,
    Ma base se finalise et voici en pièce jointe le résultat avec mes faibles connaissances dans access qui ont progressées grâce à ce forum et aux tutoriels en ligne.
    1)Toutefois je souhaiterais a partir du formulaire contrat cliquer sur le champs n° de clients auquel j'aurais inséré une macro et accéder au formulaire clients filtré sur l'enregistrement en cours dans le formulaire contrat.

    2)De la même manière dans l'état planning simplifié je souhaiterais en cliquant sur la date accéder au formulaire contrat filtré sur la date.
    J'ai essayé plusieurs macros sans succès.

    3)Votre avis sur la conception de cette base m'interesse ... n'hésitez pas à me donner vos critiques ... je souhaite progresser dans access qui me passionne de plus en plus

    4)Dernière question d'ordre général : existe-t-il dans access une conception de macro "instantanée" comme dans excel qui enregistre (comme une photo) toutes nos actions.

    Merci et bonne journée

    Willis
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Problème avec les relations dans mon modèle
    Par wam35 dans le forum Schéma
    Réponses: 3
    Dernier message: 21/01/2008, 20h22
  2. Paumé dans les relations
    Par spekal dans le forum Langage SQL
    Réponses: 2
    Dernier message: 22/08/2006, 14h55
  3. Réponses: 2
    Dernier message: 27/07/2006, 15h54
  4. Requête SELECT problème dans les résultats trouvés ...
    Par snoopy69 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 18/10/2005, 12h46
  5. [HVMenu] problème dans les pages ASPX (urgent svp)
    Par hatembr dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/01/2005, 09h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo