Doulons dans combobox

poupou61 Messages postés 61 Date d'inscription vendredi 17 février 2012 Statut Membre Dernière intervention 18 janvier 2013 - 2 févr. 2012 à 11:49
NSUADI Messages postés 540 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 1 février 2013 - 3 févr. 2012 à 17:17
bonjour,

Avant de vous expliquer mon problème il faut que j'explique un bout de ma BDD :
donc j'ai une table fournisseur avec un numFour, CodeFour, RaisonSocialeFour ...
et la clé primaire c'est NumFour et CodeFour (un même fournisseur peu avoir plusieurs CodeFour je comprend pas trop pouquoi mais bon c'est comme sa...) et donc quand je charge la combobox avec RaisonSocialeFour il y a des noms qui reviennent. J'ai donc fais une nouvelle requête dans mon dataset avec un distinct sur le RaisonSocialeFour (Requête qui marche très bien dans Access, mais par contre quand je charge la combobox il n'y a plus rien).

        Me._taFournisseur.Fill(MonDataSet1.Fournisseur)
        Dim donneesFour As DataTable = _taFournisseur.GetData()
        Me.CbxFour.Items.Add(New Mylist("", 0))
        For Each Four As DataRow In donneesFour.Rows
            Dim itemlist As New Mylist
            itemlist.Name = Four("RaisonSocialeFour")
            itemlist.ItemData = Four("NumFournisseur")
            Me.CbxFour.Items.Add(itemlist)
        Next


donc sa c'est le code qui marche avec la requête de base de la table fournisseur du dataset mais qui m'affiche la raison sociale de certains fournisseurs en double voir plus.

donc après je créer une nouvelle requête dans mon dataset avec le distinct sur le numFournisseur :

SELECT Distinct(NumFournisseur), RaisonSocialeFour
from fournisseur


la requête dans access fonctionne très bien.

et donc je change pas grand chose après dans le chargement de la combobox :

        Me._taFournisseur.FillByRSFour(GenourobDataSet1.Fournisseur)
        Dim donneesFour As DataTable = _taFournisseur.GetDataByRSFour()
        Me.CbxFour.Items.Add(New Mylist("", 0))
        For Each Four As DataRow In donneesFour.Rows
            Dim itemlist As New Mylist
            itemlist.Name = Four("RaisonSocialeFour")
            itemlist.ItemData = Four("NumFournisseur")
            Me.CbxFour.Items.Add(itemlist)
        Next

23 réponses

cs_ShayW Messages postés 3258 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 56
2 févr. 2012 à 12:17
Salut

quand tu charges dans ta combo
il faut vider ta d'abord ta combo
combo.Items.Clear()
0
poupou61 Messages postés 61 Date d'inscription vendredi 17 février 2012 Statut Membre Dernière intervention 18 janvier 2013 1
2 févr. 2012 à 14:29
C'est bien sa le problème, c'est qu'elle est vide la combobox. donc ce n'est pas sa. mais merci
0
NSUADI Messages postés 540 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 1 février 2013 2
2 févr. 2012 à 15:45
en aucun endroit dans ton code,tu la vides la combobox ...

Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...

Visual Basic .Net is the best
and vb6.0
0
poupou61 Messages postés 61 Date d'inscription vendredi 17 février 2012 Statut Membre Dernière intervention 18 janvier 2013 1
2 févr. 2012 à 15:52
oui mais ce n'est pas le problème. et même en la vidant avec le code donné par ShayW, sa ne change rien.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NSUADI Messages postés 540 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 1 février 2013 2
2 févr. 2012 à 16:07
c'est tous les champs qui apparaissent en double ou simplement quelques uns?

Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...

Visual Basic .Net is the best
and vb6.0
0
poupou61 Messages postés 61 Date d'inscription vendredi 17 février 2012 Statut Membre Dernière intervention 18 janvier 2013 1
2 févr. 2012 à 16:23
Que quelques un mais je sais pourquoi, c'est parce que enfaite, dans ma table fournisseur dans ma BDD, la clé primaire de cette table est composé de NumFournisseur ET CodeFournisseur(un fournisseur peu avoir plusieurs codefournisseur) et donc par exemple je vais faire un petit exemple :

NumFournisseur | CodeFournisseur | RaisonSocialeFour
______1________|_______123456____|________Carrefour
______1________|_______987654____|________Carrefour
______2________|_______456789____|________Auchan


donc disons que j'ai sa dans ma table fournisseur, et bien si je prend la requète de base du dataset dans la table fournisseur, c'est à dire :
Select * 
from Fournisseur


j'aurai donc deux fois Carrefour (et c'est normal).

j'ai donc ajouté la requète avec le distinct que j'ai écris plus haut. ( j'ai aussi essayé avec le dstinct sur la raisonsociale et sans le NumFour dans le select)

et avec sa ma combobox reste vide.

Et Désolé pour le dessin de ma table fournisseur c'est pas extraordinaire. j'espère que vous comprendrez
0
NSUADI Messages postés 540 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 1 février 2013 2
2 févr. 2012 à 17:30
Bon peut être que j'oublie mes cours de Mérise mais une clé Primaire n'est pas sensé être unique?? donc sans doublons??


la clé primaire de cette table est composé de NumFournisseur ET CodeFournisseur


un autre truc que je comprend pas ...

et pour finir,qu'est ce que tu veux voir apparaître dans ta combobox? en prenant l'exemple que tu as fourni ...

désolé de te poser plus de question plutôt que de te fournir des pistes de solution,c'est juste que j'essaie de comprendre avant de pouvoir apporter une aide plus efficace ...


Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...

Visual Basic .Net is the best
and vb6.0
0
cs_ShayW Messages postés 3258 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 56
2 févr. 2012 à 19:00
Bonsoir

Comme le dit NSUADI (bonjour)
une clé primaire est unique
j'ai l'impression que les tableaux ne sont
pas comme il faut
0
poupou61 Messages postés 61 Date d'inscription vendredi 17 février 2012 Statut Membre Dernière intervention 18 janvier 2013 1
3 févr. 2012 à 09:35
Ba ouais je sais c'est bizarre mais je l'ai fais un peu trop vite la table fournisseur, et j'avais pas vraiment d'idée de comment mettre mon codefournisseur sachant que un fournisseur en avait plusieurs. Je vais faire quelques modifications pour changer sa.
Mais ce que je voulais afficher c'était la RaisonSocialeFour, donc dans l'exemple plus haut j'aurais voulu que sa m'affiche : Carrefour | Auchan
Alors que moi sa m'afficherais : Carrefour | Carrefour | Auchan.
Si vous avez une idée quand même pour me supprimer un doublons je suis preneur quand même on sais jamais.
En tout cas merci.
0
cs_ShayW Messages postés 3258 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 56
3 févr. 2012 à 09:47
Si tu as un tableau de fournisseur
tu dois avoir un codefournisseur unique
elle est meme fournit automatiquement
si tu dis
comment mettre mon codefournisseur sachant que un fournisseur en avait plusieurs

ce n'est pas logique
chaque fournisseur doit avoir un codefournisseur
ou peut etre explique pourquoi d'après toi
un fournisseur en avait plusieurs
0
poupou61 Messages postés 61 Date d'inscription vendredi 17 février 2012 Statut Membre Dernière intervention 18 janvier 2013 1
3 févr. 2012 à 10:08
ba enfaite moi on m'a passé un tableau excel avec la liste des fournisseurs et je vais refaire un petit exemple de ce qu'on m'a donné :

RaisonsocialeFour____|____Produit vendu____|___CodeFournisseur___|
_________A___________|______Clé USB________|_________45689_______|
_________A___________|______DD externe_____|_________68200_______|
_________B___________|____UnAutreProduit___|_________000220______|

Voila en gros c'est sa qu'on m'a donné. donc c'est la liste des produit vendu avec leur fournisseur mais un fournisseur a un codefournisseur pour chaque produit vendu.
J'espère que mon exemple est assez clair sinon demandez.
0
cs_ShayW Messages postés 3258 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 56
3 févr. 2012 à 10:23
je ne sais pas comment sont fait tes tableaux
envois leur descriptions avec leurs champs
0
poupou61 Messages postés 61 Date d'inscription vendredi 17 février 2012 Statut Membre Dernière intervention 18 janvier 2013 1
3 févr. 2012 à 10:37
tu veux une copie d'écran de mon tableau excel ??
0
poupou61 Messages postés 61 Date d'inscription vendredi 17 février 2012 Statut Membre Dernière intervention 18 janvier 2013 1
3 févr. 2012 à 10:54
bon j’envoie l'image. désolé j'ai du supprimer le nom des fournisseur mais je n'ai pas le droit de les mettre mais dis toi que tout ce que j'ai mis que les premières lettres donc ce qui commence par un 'S' par exemple c'est le même fournisseur.
0
poupou61 Messages postés 61 Date d'inscription vendredi 17 février 2012 Statut Membre Dernière intervention 18 janvier 2013 1
3 févr. 2012 à 10:54
désolé le lien n'est pas passé.
http://imageshack.us/photo/my-images/515/excelrk.jpg/
0
cs_ShayW Messages postés 3258 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 56
3 févr. 2012 à 11:07
Non pas une copie
comme ça
Table1
champ1
champ2

Table2
champ1
etc

si le champs est une clé primaire ajoute pk
0
poupou61 Messages postés 61 Date d'inscription vendredi 17 février 2012 Statut Membre Dernière intervention 18 janvier 2013 1
3 févr. 2012 à 14:10
ok ok. Désolé.
je te met une image des relations entre les tables d'access. j'ai pas mis toutes les tables mais sa devrais suffire.

http://imageshack.us/photo/my-images/214/microsoftaccess.jpg/
0
cs_ShayW Messages postés 3258 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 56
3 févr. 2012 à 14:42
J'ai reçu

Peux tu expliquer
dans le tableau Fournisseur tu as deux clés

numfournisseur et codefournisseur
quelle est la différence entre les deux ?
0
poupou61 Messages postés 61 Date d'inscription vendredi 17 février 2012 Statut Membre Dernière intervention 18 janvier 2013 1
3 févr. 2012 à 14:48
Ba c'est ce que j'ai mis dans mon tableau excel. est ce que tu avais vu l'image des mes tableaux excel ?? mais je sais que c'est bizarre et plus j'y pense plus je me dis qu'il faut que je modifie la table fournisseur !! mais je sais pas trop comment mettre sa et que sa soit correct !! parce que sinon je le met ou mon code fournisseur !?!
0
poupou61 Messages postés 61 Date d'inscription vendredi 17 février 2012 Statut Membre Dernière intervention 18 janvier 2013 1
3 févr. 2012 à 15:53
Bon enfaite on viens de me donner des infos qui me facilite beaucoup de chose ! Donc c'est bon ! Mais merci à tous.
0