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

WinDev Discussion :

[Windev 2026 ] Gestion d'une relation many-to-may


Sujet :

WinDev

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2009
    Messages : 183
    Par défaut [Windev 2026 ] Gestion d'une relation many-to-may
    Bonjour,

    Dans mon application, j'ai trois tables dans une relation many-to-many selon le schéma ci-dessous.

    Nom : Many-To-Many.png
Affichages : 84
Taille : 28,8 Ko

    J'aimerais maintenant créer un formulaire ou je peux gérer ces relations. L'idée est d'avoir un premier champ table (ListeModeles) dans lequel s'affiche tous mes modèles mandats.
    Lorsque je sélectionne un modèle, un second champ table (ListeVariations) est rafraichi et affiche toutes les variations de ce modèle (Champ table lié à la table ModelesVariations). Un champ de cette table (IDVariation) est un champ combo lié à ma table Variations.

    Où je butte, c'est que j'aimerais pouvoir ajouter des enregistrements dans mon champ table ListeVariations afin d'ajouter des variations à un modèle mais je ne sais pas si cela est possible.
    Idéalement, il faudrait que, lorsqu'une nouvelle ligne est créée dans mon champ table ListeVariations, le champ lié IDModeleMandat soit prérempli avec la valeur du champ IDModele de mon champ table ListeModeles.
    Pour mon champ IDVariation, il faudrait que mon combo affiche les variations non utilisées pour ce modèle. j'ai pour cela déjà une requete..

    ListeSupprimeTout(COMBO_VariationDisponible)

    reqDispo est une Requête SQL =
    [
    SELECT
    v.IDVariation,
    v.LibelleVariation
    FROM Variations v
    WHERE NOT EXISTS (
    SELECT 1
    FROM Mandats_Variations mv
    WHERE mv.IDVariation = v.IDVariation
    AND mv.IDMandat = {pIDMandat}
    )
    ORDER BY v.LibelleVariation
    ]

    reqDispo.pIDMandat = nIDMandat

    SI PAS HExécuteRequêteSQL(reqDispo, hRequêteDéfaut) ALORS
    Erreur("Chargement variations disponibles : " + HErreurInfo())
    RETOUR
    FIN

    POUR TOUT reqDispo
    ListeAjoute(COMBO_VariationDisponible, ...
    reqDispo.LibelleVariation + gValeurMémorisée(reqDispo.IDVariation))
    FIN



    Ma question est d'avoir votre avis sur la meilleure façon de procéder. Est-ce que deux champs tables peuvent faire le job ou est-ce que je dois passer par un petit form supplémentaire pour ajouter des variations à un modèle. Je pourrais passer l'IDModeleMandat en paramètre et avoir un tableau d'ajouter avec les variations restantes mais idéalement, j'aimerais tout pouvoir faire depuis mon écran principal.
    Merci de votre aide et excellente suite de journée à tous
    Arnaud

  2. #2
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 694
    Par défaut
    Bonjour,

    J'ai lu un peu en diagonale, mais pour ajouter, j'utiliserais une combo qui contient les modèles non utilisés. Pour valider la sélection, je mettrais, en plus, un bouton pour l'ajout/enregistrement/réaffichage de la table des modèles utilisés
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2009
    Messages : 183
    Par défaut
    Merci @frenchsting,

    J'ai abandonné l'idée d'un truc dynamique qui ajoute directement dans ma table de liaison et je passe par un tableau dynamique de type structure qui contient l'ensemble des champs à remplir.
    Cela me permet de pré-saisir toutes mes variations et de valider avec un bouton en contrôlant que tous les champs obligatoires sont saisis.

    Le seul petit bémol est que mon combo, à la base, ne contient bien que les variations non encore utilisées mais ne prend évidemment pas en compte les variations déjà saisies dans ma structure ; à voir si je gère ça ou pas mais ça me semble beaucoup de temps pour un petit gain...
    Merci pour ton aide

  4. #4
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 694
    Par défaut
    La question est gain de temps, ou simplification pour l'utilisateur (et permettre de vérifier la qualité ce qui est saisi) ?
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2009
    Messages : 183
    Par défaut
    Un peu des deux,
    En créant ce code supplémentaire, une variation en cours de génération ne pourrait pas être utilisée plusieurs fois .. mais cela peut être contrôlé lors de la création effective dans les tables ...
    Merci pour ton aide
    Arnaud

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 12/03/2009, 16h16
  2. problème de jointure dans une relation many to one
    Par info_plus dans le forum JPA
    Réponses: 1
    Dernier message: 25/12/2008, 12h29
  3. Réponses: 3
    Dernier message: 26/02/2007, 10h14
  4. Réponses: 3
    Dernier message: 05/01/2007, 10h44
  5. Réponses: 5
    Dernier message: 12/12/2005, 18h42

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