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 :

Les relations Un-à-Plusieurs


Sujet :

Access

  1. #1
    seb92400
    Invité(e)
    Par défaut Les relations Un-à-Plusieurs
    Bonsoir,

    Qui a dit que les relations étaient simples... Toujours sur ma BD que je réalise pour mon travail...

    Résumé : J'ai (entre autre) un formulaire ou j'enregistre les clients, un autre ou j'enregistre les commandes... J'ai créé une relation entre les deux tables de Un-à-Plusieurs (puisque je suppose qu'un client peut avoir plusieurs commandes) et j'ai également une jointure gauche (avec le patite flèche du côté commandes) comme ça, je peux voir tous les clients et seulement les commandes valides... Bref, avec l'intégrité référentielle qui va avec, normalement tout va bien... Et bah naaannn...

    Problème : Je créé un client, je passe sur le formulaire commande, je peux créer une commande... Mais il m'est impossible de créer une deuxième commande...

    Donc : J'ai créé une nouvelle base (test) ou j'ai un petit formulaire avec un N° auto, nom et prénom et un autre formulaire lié (encore plus petit) avec juste un mémo (et bien sûr le n° qui me sert de relation) et aucune autre fioriture qui pourrait venir entrer en conflit... J'ai essayé toutes les relations possibles... J'ai lu des dizaines d'articles traitant de ce sujet... Et je n'y arrive toujours pas... Je ne peux créer su'un seul mémo par client... (à moins de ne rentrer manuellement le numéro du client sur le formulaire commande).
    J'arrive pourtant à créer autant de commande que je veux lorsque j'ouvre la table client directement et que j'entre les valeurs directement dans les cases...

    Je pense donc, avec raison sans doute, avoir loupé qqch au niveau du formulaire (ouverture, données...), mais quoi ?? ...

    Solution : ???

    Merci d'avance à vous...

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2006
    Messages : 63
    Points : 74
    Points
    74
    Par défaut
    Des détails sur ton fomulaire de commandes?

    Je te conseille de ne pas nécéssairement mettre les jointures de gauche dans les relations. Personnelement, ça m'a toujours causé plus de tort que d'autre chose. Je préfère les mettre dans les requêtes, au besoin.

  3. #3
    seb92400
    Invité(e)
    Par défaut
    Bonjour LaBelette...

    Ma base "test" :

    Formulaire client : Un champ auto, un nom, un prenom
    < Relation >
    Formulaire commande : un champ numérique (qui me sert pour la relation) et un champ mémo

    Donc, même si la base que je réalise pour le magasin est bien plus complexe, ça ne fonctionne quand même pas avec mon test...

    Concernant les relations, j'ai vraiment tout essayé, dans un sens, dans l'autre, en changeant de jointures, etc...

    Je ne comprends pas...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 14
    Points : 16
    Points
    16
    Par défaut un sous-formulaire
    Bonjour,

    Je pense que la solution passe nécessairement par la création de la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT commandes.num, commandes.[libellé commande]
    FROM clients INNER JOIN commandes ON clients.num = commandes.num;
    Puis il faut intégrer dans ton formulaire client un sous-formulaire avec la requête précédente comme source (le lien se fait sur le champ numérique)

    Bon courage

  5. #5
    seb92400
    Invité(e)
    Par défaut
    Je vais re-esayer cette solution... Je l'avais déjà plus ou moins mis en pratique... Mais créer un sous-formulaire et une requête pour un simple numéro me parait lourd comme méthode... Je vais chercher encore un peu...

    Merci...

  6. #6
    seb92400
    Invité(e)
    Par défaut
    CA Y EST !!!

    J'ai trouvé d'où venait le problème...

    En fait, j'incluais dans mon formulaire commande le numéro client du formulaire client et le numéro du formulaire commande et donc, à priori, Access n'aime pas...

    J'ai donc viré tout simplement le numéro client (du form client) du formulaire commande, et ensuite, je copie simplement le numéro du formualire client sur le formulaire commande (le formulaire client restant ouvert en arrière plan lors de la création de commande). Voilà... C'est tout simple... Pas besoin de requête et de sous-formulaire à priori...

    Bon... Il me reste à tester cette solution sur ma vraie base... et non pas sur ma base test...

    Merci à vous... A bientôt...

  7. #7
    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
    Tu as oubliés dans le design de ta table commande d'inclure un numéro de commande qui lui est unique et les numéro de client, doit être indexé mais avec doublons.


    TblClient NumCl; Nom ; Adress (clé primaire NumCl)
    TblCommande NumComde; NumCl; Mémo (Clé primaire NumComde)
    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 !

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/08/2012, 08h07
  2. Réponses: 5
    Dernier message: 05/10/2004, 13h05
  3. recuperer les id sur plusieurs champs
    Par matN59 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/03/2004, 10h23
  4. [Relations] afficher les relations entre 2 tables
    Par dzincou dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 14/01/2004, 17h07
  5. Réponses: 2
    Dernier message: 26/09/2003, 15h54

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