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

Access Discussion :

Lien identifiant


Sujet :

Access

  1. #1
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 3
    Points
    3
    Par défaut Lien identifiant
    Voilà je suis en stage dans un hopital où je doit réaliser une appli sous access qui permet de gérer les formations organisées dans le département, or je ne dispose que d'access et de mon bloc de feuilles.

    je dispose de deux types de formations: individuelles et de groupe.
    ces formations on un numéro unique : xxxx I ou G(selon le type) année

    par exemple: 0025G2006.

    dans ma modélisation j'ai crée deux tables :
    Individuelle (num_form, annee,......) et
    Groupe(num_form, annee; .....)

    Seulement je trouve ça un peu lourd (et surtout les relations ne fonctionnent pas super ^^, donc je souhaitais un avis de gens beaucoup plus experimentés sur une autre méthode éventuelle.

    Merci d'avance,

  2. #2
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,
    Pourquoi avoir 2 bases ???
    Une suffirait !
    Avec une table formation
    Formation(ID, Nom, Type (Individuelle ou Groupe))...)
    Une table Année
    Annee(ID, Année)

    Bon, si tu veux gérer une clé de type xxxxG2006, à toi de voir...

    Et puis, tu dis vouloir gérer des formations. Tu ne dois gérer que les types de formations ou aussi les gens qui vont les suivre ??? Les intervenants ???

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 36
    Points : 24
    Points
    24
    Par défaut généralisation de table
    Bonjour, en fait tu peux si tu as des champs similaires par l'information qu'il contienne entres des individuels et groupes. C'est à dire que tu peux rassembler l'ensemble de tes formations dans une seule table et tu rajoutes un champ type de formation qui pourra prendre deux valeurs : En groupe ou individuel.

    Gwénaël

  4. #4
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Tout d'abord merci

    j'avais effectivement pensé à ne faire qu'une seule table, mais je doit gérer également les agents participants aux formations. pour els formations individuelles, aucun problème, mais pour els formations de groupe, j'utilisais une table de liaison entre ma table groupe et ma table agent, ce qui ne serait plus le cas ici (où alors je passe à coté d'un truc evident...)

    mon idée de passer par deux base venait a la base d'un héritage de l'entité formation vers individuelles et groupe, après le passage à access j'avoue que c'était un peu du bricolage ^^;

    Je vais essayer de dessiner quelque part le schémas de ma base, histoire d'éclairer un peu les choses...

  5. #5
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Repère bien tous les élements qui tu auras dans ta base. (crée un MCD)
    Ensuite organise les dans des entités (qui deviendront par la suite les tables)
    Applique les 3 premières Formes Normales de la méthode merise.
    Et là tu auras la solution à ton problème en ce qui concerne les participants aux formations individuelles et de groupes

  6. #6
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    J'ai mon MCD avec l'héritage, je vais en refaire un avec une seule entité Formation, voir si je m'en sort mieux ^^


    Merci du conseil


    *Legers edits après relectures, correction erreurs d'ortographe et de sens ^^*

  7. #7
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    (j'ai corrigé mes petits lapsus dans mes postes précédents, c'est peu être de là que viens le problème j'ai du mal m'exprimer ^^

    Je viens de retracer tout ça sur mon bloc, et je n'arrive pas à faire tenir ça en une seule entité...

    le code de ma formation pouvant être 0001I2006 et 0001G2006, si j'utilise une seule entité, mes clef primaire sont au nombre de 3:
    1. L'ID
    2. le type
    3. l'année
    et impossible de gérer 1 seul participant pour les formations individuelles, ou plusieurs pour les formation de groupe :s


    Je retombe donc sur mon modèle avec héritage :s

    Je vais déjà résumé un peu le contexte, ça evitera d'oublier une info en route:

    Je doit créer une base permettant de gérer:

    Les formations
    • Individuelles
    • De groupe
    Ces formations on un code à 4 chiffres (0001,0002 etc) remis à 0 à chaque année, on obtient donc un code unique xxxx I ou G année pour chaque formation (les numéro sont utilisés par les deux types de formation, seule la lettre les différencient dans le code)

    Ces formations sont organisées par des organismes (là aucun soucis)

    et à ces formations participent des Agents, que je doit également faire figurer dans la base. (de là viens le problème ^^)

    Je butte sur la différenciation des formations individuelles ou de groupe, sachant que l'une ne nécéssite qu'un numero d'agent, et que l'autre nécéssite une liste de numéros d'agents...

    En éspérant avoir éclairé mon problème...

    (et en éspérant que la pause déjeuner va m'éclairer dans la solution...)


    Merci, et bon appétit


    Petit ajout: ma base access faite main à partir de mon MCD fonctionne sans problème sans les années, j'avais oublié de les intégrer dans un premier temps... ça m'apprendra!...

  8. #8
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Je ne vois pas où tu coinces...

    Formation(IDFormation, Nom, Type, etc..)
    Agent(IDAgent, Nom, etc...)

    1 Agent peut participer à 0 ou plusieurs formations
    1 Formation est suivi par 1 ou plusieurs agents

    La relation entre les 2 entités qui en découle :
    Participer(IDFormation, IDAgent, etc...)

    Après pour dissocier les formations individuelles des formations de groupe, tu as le type de formation.

  9. #9
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Avec une entité

    Formation(IDFormation, Nom, Type, etc..)

    il m'est impossible de disposer d'une formation Individuelle d'ID 0001 et d'une formation de groupe de numero 0001, or je doit pouvoir créer une formation 0001I2006 (donc individuelle) et une formation 0001G2006 (de groupe), ce qui me force à passer le type en clé primaire :s

    me trompe-je ?

  10. #10
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Désolé... je suis obstiné...
    C'est vrai qu'avec la proposition que je t'ai fait, tu ne peux pas avoir d'identifiant comme tu le souhaites. Tu dois avoir 2 tables : 1 pour les formations individuelles, une autre pour les formations de groupe.
    mais c'est totalement "débile" : tu vas avoir les mêmes informations dans les 2 tables et elles vont être redondantes !!!

    Sinon tu peux faire ceci :

    Formation (IDFormation (clé numéro auto), Nom, Type, Identifiant...)

    Identifiant sera composé du numéro d'ordre (0001, 0002, 0003 etc...), de la lettre I ou G en fonction du type, et de l'année.
    Tu pourras ensuite récupérer cet identifiant dans tes requêtes, formulaires etc...

    Ensuite à toi de créer le code qui va te permettre de récupérer le dernier numéro de la formation de l'année N, d'y ajouter 1 et de concatener les 3 informations.

  11. #11
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Je vais essayer de bidouiller un truc comme ça, tout en essayant de voir ce que powerAMC me propose a la maison comme génération de base...


    Merci encore


    (je continuerais à regarder ici, au cas où quelqu'un aurait l'idée de génie qui retablirait la situation ^^)

  12. #12
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 342
    Points : 4 299
    Points
    4 299
    Par défaut
    Je pense que la solution que Kikof t'a proposé est la plus simple si je puis dire, car il te permet de dissocier les formations individuelles et de groupe de cette manière, sans de redondance

    Pour que ton shéma soit simple, il te faut dans ta table "formation" un champ qui te permettra de dissocier ces 2 formations, comme te l'a proposé kikof

  13. #13
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Vi je sais que ça serait plus simple

    mais je n'ai pas trop le choix, il faut que je puisse avoir en parallèle les N° de formation de groupe et le N° des formations individuelles (comem mon exemple précédent: 0001 I 2006 et 0001 G 2006)
    La solution précédente reviendrait à exclure cette possibilité ^^;

    La tout dernière solution est en cours d'adaptation,je vais voir si j'arrive à en sortir quelque chose de pas trop fastidieux à utiliser :s

    et dire que c'est sensé être la partie simple du stage :d

  14. #14
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 342
    Points : 4 299
    Points
    4 299
    Par défaut
    Citation Envoyé par Docsmea
    mais je n'ai pas trop le choix, il faut que je puisse avoir en parallèle les N° de formation de groupe et le N° des formations individuelles (comem mon exemple précédent: 0001 I 2006 et 0001 G 2006)
    La solution précédente reviendrait à exclure cette possibilité ^^;
    Comment ça il faut que tu les ai en parrallèle ?

  15. #15
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Disons que l'identifiant 0001 ne doit pas être unique à une formation, il peut être utilisé par une formation de groupe ou une formation individuelle
    (j'ai donc une formation de groupe de N° 0001 et une formation individuelle de N°0001)

    d'où quelque part ma "nécéssité" de gérer deux tables :s

  16. #16
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Bon, j'ai bidouillé une base qui fait ce que je veux...



    Si quelqu'un a une idée pour améliorer ça,je ne suis pas contre ^^
    Je trouve que ça sent l'usine à gaz, même si ça fonctionne, mais à défaut d'avoir une solution propre, je préfère la solution qui fonctionne

Discussions similaires

  1. [MCD] Définition 'lien identifiant' & 'identifiant relatif'
    Par knoxville dans le forum Schéma
    Réponses: 14
    Dernier message: 19/03/2011, 01h27
  2. Lien identifiant ?
    Par Tiramitchou dans le forum Schéma
    Réponses: 2
    Dernier message: 25/05/2008, 00h30
  3. Identifier le lien cliqué
    Par threshold dans le forum JSF
    Réponses: 2
    Dernier message: 08/04/2008, 14h14
  4. Passage d'un identifiant par un lien
    Par oceane751 dans le forum Langage
    Réponses: 7
    Dernier message: 20/02/2008, 15h46
  5. [DC] le lien identifiant en UML : association / composition / aggrégation
    Par sly3333 dans le forum Diagrammes de Classes
    Réponses: 5
    Dernier message: 30/10/2007, 08h57

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