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

VB.NET Discussion :

Formulaire d'ajout/modification/suppression utilisant 2 tables


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 65
    Points : 33
    Points
    33
    Par défaut Formulaire d'ajout/modification/suppression utilisant 2 tables
    Bonjour,

    J'ai déjà posté à plusieurs reprises concernant un projet mais j'aurais encore besoin d'aide pour quelques détails urgents.

    J'utilise une base de données créée grâce à SQL Server Management Studio et lié à ma base de données en tant que "source de données". Voici le schéma de ma BDD (qui a subit quelques modifications)

    Nom : tYJGkQZQhdEqs0BbY3A6z9fBWXANDuDiDj2o3KGnlclDdOkPke6Sl2wjbvHX8S6w-bdd2.png
Affichages : 203
Taille : 22,5 Ko

    J'ai a créer plusieurs fenêtres d'ajout/modification/suppression et certaines comportent des données venant de deux tables différentes:

    Comme vous pouvez le voir sur le schéma, les Fournisseurs sont liés aux Familles par une relation many-to-many. En effet, un fournisseur est lié à 1, 2 ou 3 familles maximum.

    Ma fenêtre d'ajout de fournisseur doit permettre de choisir le nom du fournisseur et de choisir ces familles (ou les modifier/supprimer,pour un fournisseur déjà existant). Comment lier les fournisseurs à des familles ? Comment afficher 3 ComboBox permettant de choisir une ou plusieurs familles ?

    Merci d'avance, en espérant que quelqu'un puisse m'aider.

  2. #2
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Si j'ai compris tu a un fournisseur pour 1, 2 ou 3 famille seulement?

    Tu peux par exemple faire ta combobox avec tes noms de familles (ou autres) et sur l'event MouseDoubleClick d'un des éléments de ta combo tu l'ajoute à une liste pour garder tes infos et une fois la liste à son maximum (count = 3) tu bloque le click sur la combo.

    J'espère avoir été clair?
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 65
    Points : 33
    Points
    33
    Par défaut
    Bonjour,

    Tout d'abord, merci de m'accorder un peu de ton temps.

    Ca m'a l'air d'être ça en effet.
    Mais le soucis c'est que je débute et je ne sais pas du tout comment m'y prendre.

    En gros, je ne vois pas comment remplir ma Junction Table via un formulaire. Donc, je pensais à placer 3 ComboBox, dans lesquelles l'utilisateur choisit (ou non, si le fournisseur en question n'appartient qu'à une seule famille par exemple) jusque 3 familles auxquelles appartient le fournisseur.

  4. #4
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Tu peux très bien ne mettre qu'une combo avec toutes les familles.
    Un peu comme ça:

    Pièce jointe 153625

    Dans ton label tu affiche le nombres de familles sélectionnés.
    Images attachées Images attachées  
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 65
    Points : 33
    Points
    33
    Par défaut
    Merci beaucoup.

    Mais comment faire en sorte que l'application "traduise" ça dans le Junction Table ? Pour qu'elle fasse le lien ? Je suis confus.
    Et je vais sans doute faire ça dans un formulaire d'ajout/modification/suppression, donc comment l'utilisateur pourrait modifier les familles ?

  6. #6
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Pour la junction je ne pourrais pas t'aider je n'ai jamais travaillé sur sql server management.

    Sinon tu peux afficher les familles sélectionnées dans une listBox et ainsi permettre la suppression de l'une d'elle ou modification.
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 65
    Points : 33
    Points
    33
    Par défaut
    Je vois ce que tu veux dire, mais honnêtement, je ne vois vraiment pas comment faire...

    C'est la raison pour laquelle je pensais aux 3 CB, l'utilisateur pourrait voir directement les familles actuellement selectionnées et les modifier s'il le souhaite directement dans les CB. (d'autant plus que je ne saurais pas comment faire en sorte d' "incrémenter" à chaque fois et de bloquer au bout de 3, de stocker dans la ListBox :/ Ca me parraissait plus "facile" )

  8. #8
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Pour limiter à 3 c'est plutôt simple, sur l'event MouseDoubleClick de ta combobox tu peux faire un contrôle sur la liste où tu conserve les familles sélectionnées:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    If maListe.count < 3 
       maListe.Add(cboActe.SelectedItem.ToString)
    else
       msgBox("Vous avez déjà choisie 3 famille")
    end if
    Ensuite tu charge ta listeBox avec ta liste de famille.
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 65
    Points : 33
    Points
    33
    Par défaut
    D'accord, merci beaucoup.

    Mais je ne sais vraiment pas comment faire en sorte qu'à chaque sélection dans le CB, la famille soit attribué au fournisseur...

  10. #10
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par DieInPain62 Voir le message
    D'accord, merci beaucoup.

    Mais je ne sais vraiment pas comment faire en sorte qu'à chaque sélection dans le CB, la famille soit attribué au fournisseur...
    Comment se déroule ton programme c'est une fournisseur qui se connecte ou tu as une liste de fournisseur et tu leurs attribuent des familles?
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 65
    Points : 33
    Points
    33
    Par défaut
    En fait, c'est un répertoire permettant à des utilisateurs de consulter la liste de leurs fournisseurs ainsi que les coordonnées de ces fournisseurs ainsi que les produits qu'ils proposent.
    Ces fournisseurs sont repartis dans des familles (ils peuvent appartenir à 1, 2 ou 3 maximum) afin de faciliter la recherche, de les classer.

    L'utilisateur doit être capable d'ajouter une famille, un produit ou un fournisseur. Lors de l'ajout d'un fournisseur à la BDD, l'utilisateur doit taper son nom mais aussi lui attribuer des familles.
    Et c'est là que ça me gêne car je cherche à attribuer une/des famille(s) à un fournisseur via le formulaire mais je ne trouve pas de solution.

  12. #12
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par DieInPain62 Voir le message
    L'utilisateur doit être capable d'ajouter une famille, un produit ou un fournisseur. Lors de l'ajout d'un fournisseur à la BDD, l'utilisateur doit taper son nom mais aussi lui attribuer des familles.
    Et c'est là que ça me gêne car je cherche à attribuer une/des famille(s) à un fournisseur via le formulaire mais je ne trouve pas de solution.
    C'est au niveau de l'insertion dans la BDD que tu ne trouve pas? As-tu essayé quelque chose déjà?
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 65
    Points : 33
    Points
    33
    Par défaut
    Oui voila, en quelques sortes. Il faut, en bref, que je lie un fournisseur à une famille, sans passer par la saisie manuelle dans la Junction Table, et je dois faire en sorte de le faire 3 fois maximum.

    Et bien en fait, j'ai essayé de faire quelque chose d'un peu bourrin, sous forme d'un formulaire maître/détails. J'ai été amené à en faire un dans ma fenêtre de consultation des Fournisseur avec un combobox bindé à la table Fournisseur et un DGV bindé (grâce à l'assistant) à la Foreign Key renvoyant vers la table Contact. De cette manière, quand l'utilisateur choisis le fournisseur, les contacts sont automatiquement affichés dans le DGV.

    J'ai essayé de procéder de la même manière en activant l'ajout/modification/suppression directement dans le DGV, sauf que je ne vois pas comment binder le DGV étant donné que la Foreign Key renvoie vers la Junction Table.
    J'ai essayé hier de binder le DGV avec une requête mais je n'y suis pas parvenu.

    je suis donc arrivé à l'idée des ComboBox, qui m'a l'air plus facile, sauf que je ne sais pas DU TOUT comment procéder :/

  14. #14
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par DieInPain62 Voir le message
    Et bien en fait, j'ai essayé de faire quelque chose d'un peu bourrin, sous forme d'un formulaire maître/détails. J'ai été amené à en faire un dans ma fenêtre de consultation des Fournisseur avec un combobox bindé à la table Fournisseur et un DGV bindé (grâce à l'assistant) à la Foreign Key renvoyant vers la table Contact. De cette manière, quand l'utilisateur choisis le fournisseur, les contacts sont automatiquement affichés dans le DGV.
    Et ça fonctionnait?

    Citation Envoyé par DieInPain62 Voir le message
    J'ai essayé de procéder de la même manière en activant l'ajout/modification/suppression directement dans le DGV, sauf que je ne vois pas comment binder le DGV étant donné que la Foreign Key renvoie vers la Junction Table.
    J'ai essayé hier de binder le DGV avec une requête mais je n'y suis pas parvenu.

    je suis donc arrivé à l'idée des ComboBox, qui m'a l'air plus facile, sauf que je ne sais pas DU TOUT comment procéder :/
    As-tu une interface avec les combobox?
    De toute façon quand tu crée ton nouveau fournisseur il faudra que tu l'insert en premier puis que tu fasse ton insertion dans FamilleFournisseur.

    Peux-tu être plus précis sur quel endroit de ton code tu bloque? ( montrer ton code)
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 65
    Points : 33
    Points
    33
    Par défaut
    Dans le cas des contacts et fournisseurs, oui, cela fonctionne à merveille. Mais impossible de binder la DataGrid de la même manière pour les fournisseurs/famille.

    Et bien justement, non, pour cette fenêtre je n'ai rien du tout, je suis complètement paumé, je ne vois pas du tout comment m'y prendre...

    De toute façon quand tu crée ton nouveau fournisseur il faudra que tu l'insert en premier puis que tu fasse ton insertion dans FamilleFournisseur.
    Que veux-tu dire par là ?

  16. #16
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 65
    Points : 33
    Points
    33
    Par défaut
    Bonjour,

    Je me permet de remonter le sujet car je n'ai toujours pas réussi à résoudre mon problème :/

    Merci.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/09/2013, 18h01
  2. Réponses: 5
    Dernier message: 14/10/2010, 16h37
  3. Réponses: 1
    Dernier message: 15/05/2008, 11h48
  4. Recherche classe pour ajout/modif/suppression d'articles dans une base de donnée
    Par will89 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 02/02/2007, 11h59

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