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 :

Etat basé sur une table avec 2 champs multivalués


Sujet :

Modélisation

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut Etat basé sur une table avec 2 champs multivalués
    Bonjour à tous,

    je pense faire une erreur dans la conception de base (je suis débutante) mais après différents essais suite à mes différentes lectures de votre excellent site, rien à faire je n'y arrive pas !
    j'ai une seule table avec 4 champs :
    - 1 champs nommé "Nom"indexe sans doublon
    - 2 champs nommé "MoisE" et "MoisT" avec plusieurs valeurs qui represente les mois de l'année
    - 1 champs nomme "R" mémo
    J'aurais souhaiter au final avoir un état qui affiche par exemple pour le mois de janvier le champs nommé "Nom" si janvier est cocher dans "MoisE" et/ou dans "MoisT". Je sais qu'il faut faire un tri mais j'ai essaye toutes sortes de manipulations sur les filtres et les requetes mais rien à faire donc je pense que ma table unique n'est peut etre pas la bonne méthode. Si vous avez des idées de conception différentes je suis prete à tout essayer !

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Sans vouloir être de mauvaise augure, les champs multivalué ne sont pas vraiment une bonne chose.

    Fais un tour ici
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Oui j'avais déjà lu ce sujet et j'ai trouvé le principe intéressant d'ailleurs dans ma table et mon formulaire ça marche très bien. Le souci est que lorsque j'effectue une requête le tri fonctionne très bien quand je rentre comme critère le mois désiré pour un des champs mais impossible de le faire sur les deux champs simultanément pour pourvoir l'afficher en état, c'est pour cela que je pense que mon raisonnement n'est pas bon et je n'arrive pas à en trouver un autre !

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Access étant le seul logiciel de DB à utiliser des champs multivalués, il est préférable d'utiliser d'autres mécanismes.

    Le principe que j'aurais utilisé est le suivant :
    Deux tables, une table avec le nom et mémo, et une seconde table avec les mois.

    Dans la table avec les mois, tu reprends le champ indexé de ta table nom et une entrée pour la date.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    il faudrait donc que je crée 3 tables :
    -celle avec le nom et le memo
    -1 avec les mois pour le champs "MoisE"
    - 1 avec les mois pour le champs "MoisT"

  6. #6
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    -1 avec les mois pour le champ "Mois" et un champ qui prendrait la valeur E ou T.
    Et une table de gagnée, une.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Ok j'ai bien suivi mais le probleme c'est que le champ peut avoir la valeur E et T pour le meme Nom car ça peut être l'un ou l'autre mais aussi l'un et l'autre, je ne sais pas si je suis claire ?

  8. #8
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Pas de problème, tu as le choix, (on a toujours le choix) soit deux champs booléens (Oui/non) un E et un T, soit deux entrées dans la table

    Date E/T
    07/09/07 E
    07/09/07 T
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Je ne suis pas sûre de comprendre, j'ai donc toujours 1 table avec Nom et Memo et 1 table avec Date, E et T et les deux tables liées par le champs indexé ?

  10. #10
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Tbl_Nom
    Id_Nom
    Nom
    Mémo

    Tbl_Date
    Id_Date
    Id_Nom
    Dte
    EorT

    Les champs liés, Id_Nom et Id_Nom dans chaque table

    Avec une requête qui donnerais la sélection des deux tables, on aurait

    001 Nom01 Mémo00001 001 001 06/09/2007 E
    001 Nom01 Mémo00001 002 001 07/09/2007 T

    Avec dans la table 1

    001 Nom01 Mémo00001

    Et dans la table 2
    001 001 06/09/2007 E
    002 001 07/09/2007 T
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    J'ai bien compris mais par rapport à ton exemple moi je veux obtenir ça:
    001 001 06/09/2007 E 06/09/2007 T

  12. #12
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Petite question, combien de dates auras-tu par nom ?

    Si c'est maximum deux, alors tu mets tout dans la même table !!
    Une ligne par nom.

    J'avais cru comprendre que tu pouvais avoir plusieurs dates E et T.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    En fait j'ai un nom qui peut avoir 0 ou plusieurs dates pour E, 0 ou plusieurs date pour T sachant que je peux être amenée à ajouter d'autres champs selon le même principe et sachant que les dates pour E et T peuvent etre les memes et que je n'ai besoin que du mois donc je n'utilise pas le format date.

  14. #14
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Pourtant, crois moi, le format date est plus facile à utiliser, surtout si tu fais des opérations basées sur la chronologie.
    Pour afficher le mois, c'est assez simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format([maDate], "mmmm")
    Dans ta seconde table, il faut 4 champs

    Tbl_Date
    Id_Date
    Id_Nom
    EDate
    TDate

    0 condition qu'a une date E corresponde une date T, mais ce n'est pas impératif.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  15. #15
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    D'accord, mais comment je fais pour sortir de ça un état qui va m'afficher par mois le Nom et E et/ou T s'ils correspondent au mois en question ?

  16. #16
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Comme tu tries sur une date, il suffit de faire un groupement pas date et afficher le mois.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  17. #17
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Merci bien de ton aide donc mon problème se situerai sur la création de la requête avec ton modèle de table et le format date.

  18. #18
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Dis moi d'où tu pars et où tu veux arriver, je vais te faire un exemple.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  19. #19
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Et bien j'ai ma base avec le nom, le memo, un mois ou plusieurs mois pour T et un mois ou plusieurs mois pour E et une photo tout ça remplit par un formulaire et je veux pouvoir faire un recapitulatif par mois c'est a dire par exemple je clique sur un bouton "janvier" et il m'affiche les noms qui ont janvier pour T et/ou E et c'est là que je coince j'ai essayé des tas de choses rien à faire c'est pour ça que je pensais que mon raisonnement devait être mauvais sur la conception.

  20. #20
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Voilà,

    Avec un exemple, c'est plus clair.
    Je n'ai pas fait ta DB, mais juste quelques morceaux pour te montrer la voie à suivre.
    'état n'est pas filtré, donc on y retrouve tous les enregistrements, pour le filtrer, il suffit de modifier la réquête.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/09/2012, 15h30
  2. Réponses: 3
    Dernier message: 04/06/2010, 22h57
  3. probleme de delete sur une table avec somation
    Par galaad666 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 23/10/2006, 16h44
  4. Réponses: 12
    Dernier message: 12/06/2006, 14h29
  5. Etat basé sur une Requete Analyse Croisée
    Par Bercud dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 08/06/2006, 16h03

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