Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : lister sans doublons les elements d'une DB et afficher dans un treeview [ Algorithme / Maths ] (waspy59)

lundi 29 septembre 2008 à 23:21:19 | lister sans doublons les elements d'une DB et afficher dans un treeview

waspy59

Bonjour au forum,

Voila j'ai un tit soucis dont je n'arrive pas a me depatouiller... moi et les algorithmes ça fait deux :mouarf:

bon voici mon probleme, j'ai une DB access avec une table contenant deux champs (Produits et Lot).
Pour chacun de ces champs j'ai plusieurs entrées qui peuvent presenter des doublons... voici un tit exemple pour illustrer:

[B]Produits:Lot[/B]
table:1111
chaise:3333
chaise:2222
table:9999
chaise:3333
table:1111
lampe:4444

j'aimerais trier les afficher dans un treeview la chose suivante:
+table
++1111
++9999
+chaise
++3333
++2222
+lampe
++4444

Je m'emmêle les pinceaux dans les boucles de l'algo et au final ça donne tous sauf ce que je veux. Je pense qu'il faut de phase de tri dans l'algo mais j'y arrive po du tout...

si quelqu'un peut m'apporter son aide



mardi 30 septembre 2008 à 07:51:11 | Re : lister sans doublons les elements d'une DB et afficher dans un treeview

lillith212

Membre Club
Salut,

pour ne pas avoir de doublon dans ta requête de selection utilise le mot clé DISTINCT (un truc facile c'est que tu la tapes en sql sous access et tu vois le résultat pour apres l'adapté à ta commande vb) Ensuite tu inserts le résultat au niveau de ton treeview.
Il n'y a pas de problème mathèmatique dans ta question c'est simplement comment tu vas faire ta requete.

S.L.B.


-- Le règlement tu liras -- Des recherches tu feras -- Le style SMS tu banniras --
-- De la validation pertinente tu feras -- Du respect tu auras -- Le bon thème tu choisiras --


mardi 30 septembre 2008 à 10:06:50 | Re : lister sans doublons les elements d'une DB et afficher dans un treeview

aserf

Salut,

Je ferait un Select * From TABLE order by produit,
ensuite je parcour les enregistrements, si l'enregistrement actuel est un nouveau produit tu le rajoute et si il a le produit identique que l'enregsitrement precedent, tu ne rajout pas le produit mais le lot au produit actuel,

bonne chance,
a++
seb


Développement Rapide PHP / VBNET -> www.database2code.com


mardi 30 septembre 2008 à 10:27:16 | Re : lister sans doublons les elements d'une DB et afficher dans un treeview

lillith212

Membre Club
Réponse acceptée !
Re:

SELECT DISTINCT  Produit, lot FROM tatable ORDER BY produit


S.L.B.


-- Le règlement tu liras -- Des recherches tu feras -- Le style SMS tu banniras --
-- De la validation pertinente tu feras -- Du respect tu auras -- Le bon t


mardi 30 septembre 2008 à 14:24:03 | Re : lister sans doublons les elements d'une DB et afficher dans un treeview

waspy59

hello,

je n'avais pas penser a faire mon tri directement dans la requête sql.... mais bon j'ai une excuse, je debute lol

encore merci pour votre aide

lundi 23 février 2009 à 15:30:59 | Re : lister sans doublons les elements d'une DB et afficher dans un treeview

guilty90

Bonjour, a vous
je viens écrire dans se tuto car je pense etre dans la bonne partie.

Voila mon problème :

J ai une base de données : matériaux / sous-ensembles / produits / ensembles
et donc un sous-ensembles peut avoir plusieurs matières/ un produit peut avoir plusieurs sous-ensembles / etc...
Je peux donc avoir : un produit avoir des sous-ensembles qui ont plusieurs fois les mêmes matériaux.

( je m exprime mal donc si vous voulez des précisions demander :p )

voila mon code pour afficher mes données :

Do While Not rs_user.EOF
       'ordre : (lien, action, clée, text, image)
        Set n = TrvContact.Nodes.Add("Root", tvwChild,  rs_user.Fields(1), , rs_user.Fields(1), 1)
        test.text = rs_user.Fields(10)
        lienfils.text = rs_user.Fields(1)
        Set rs_ensemb = DB.OpenRecordset("select * from ensembles where userENS = " + test.text)
       Do While Not rs_ensemb.EOF
              'ordre : (lien, action, clée, text, image)
              Set n = TrvContact.Nodes.Add(i, tvwChild,  rs_ensemb.Fields(0), rs_ensemb.Fields(0), 2)
              lienfilsfils.text = rs_ensemb.Fields(0)
              Set rs_prod = DB.OpenRecordset("select * from produit, ensembles, regrouper where produit.desP=regrouper.desP and regrouper.desENS = ensembles.desENS and ensembles.desENS='" + rs_ensemb.Fields(0) + "';")
            rs_ensembl.movenext
      loop
rs_user.movenext
loop

Ce n'est qu'une partie de mon code, ce code marche si on rencontre que une fois un matériaux, ou un sous-ensembles , ou un produit, etc...

Je suis en train de changer et de tester avec desi ...

Je vous remercie d'avance pour votre future aide.

Cordialement
Guilty90


lundi 23 février 2009 à 16:16:45 | Re : lister sans doublons les elements d'une DB et afficher dans un treeview

guilty90

tiss , c est toujours aprés avoir demander qu'on trouve tout seul lol :


Voila mon code ( c'est normale si vous comprennez pas tout de suite :) ) :



b = 1
d = 1
f = 1
h = 1
j = 1
Do While Not rs_user.EOF
    'ordre : (lien, action, clée, text, image)
        a = "user " & b
        Set n = TrvContact.Nodes.Add("Root", tvwChild, a, rs_user.Fields(1), 1)
        test.text = rs_user.Fields(10)
        Set rs_ensemb = DB.OpenRecordset("select distinct * from ensembles where userENS = " + test.text)
        b = b + 1
      
        Do While Not rs_ensemb.EOF
            c = "ensemble " & d
            Set n = TrvContact.Nodes.Add(a, tvwChild, c, rs_ensemb.Fields(0), 2)
            Set rs_prod = DB.OpenRecordset("select distinct * from produit, ensembles, regrouper where produit.desP=regrouper.desP and regrouper.desENS = ensembles.desENS and ensembles.desENS='" + rs_ensemb.Fields(0) + "';")
            d = d + 1
           
            Do While Not rs_prod.EOF
                E = "produit " & f
                Set n = TrvContact.Nodes.Add(c, tvwChild, E, rs_prod.Fields(0), 2)
                Set rs_SE = DB.OpenRecordset("select distinct sous_ensembles.désigSE from sous_ensembles, contenir, produit, regrouper, ensembles Where regrouper.desP=produit.desP and regrouper.desENS = ensembles.desENS and contenir.désigSE=sous_ensembles.désigSE and contenir.desP=produit.desP and produit.desP = '" + rs_prod.Fields(0) + "';")
                f = f + 1
                Do While Not rs_SE.EOF
                g = "sous-ensembles " & h
                    Set n = TrvContact.Nodes.Add(E, tvwChild, g, rs_SE.Fields(0), 2)
                    Set rs_mat = DB.OpenRecordset("select distinct base.Désignation_matériel From base, sous_ensembles, contenir, produit, avoir, regrouper, ensembles Where regrouper.desP=produit.desP and regrouper.desENS = ensembles.desENS and contenir.désigSE = sous_ensembles.désigSE And contenir.desP = produit.desP and avoir.désigSE=sous_ensembles.désigSE and avoir.Désignation_matériel= base.Désignation_matériel and sous_ensembles.désigSE = '" + rs_SE.Fields(0) + "';")
                    h = h + 1
                    Do While Not rs_mat.EOF
                    i = "matériaux " & j
                        Set n = TrvContact.Nodes.Add(g, tvwChild, i, rs_mat.Fields(0), 2)
                        j = j + 1
                        rs_mat.MoveNext
                    Loop
                rs_SE.MoveNext
            Loop
           rs_prod.MoveNext
        Loop
        rs_ensemb.MoveNext
    Loop
    'je passe à l'enregistrement suivant
    rs_user.MoveNext
Loop

L'erreur venait enfaite du fait que je nommais automatiquement les sous parties et donc que s'il avait un doublons : ERREUR.
J'ai donc forcer mon programme a donnée des nom "correct" ( hihihih) a mes sous parties.

J'espere que ce code peut aider des gens :)

Cordialement
Guilty90



Cette discussion est classé dans : table, afficher, db, treeview, doublons


Répondre à ce message

Sujets en rapport avec ce message

SELECT...INNER JOIN [ par Bendes ] J'arrive à faire un SELECT INNER JOIN entre deux tables d'une même base de données (Access 2000), mais comment faire ce SELECT sur une table d'une db Comment afficher 2 champs d'une table dans un combobox déroulant [ par Jeronimo ] Je veux que lorsque ma form load, tous les enregistrements NomEt et PrenomEt de ma table Etudiant apparaîssent dans un combobox déroulant. Je n'y arr Comment afficher 2 champs d'une table dans un combobox déroulant [ par Jeronimo ] Je veux que lorsque ma form load, tous les enregistrements NomEt et PrenomEt de ma table Etudiant apparaîssent dans un combobox déroulant. Je n'y arr histoire de SELECT et de dé-concaténation [ par siham ] salut a tous,j'ai 2 pb.Tout d'abord les requetes SELECT sous VBA ACCESS.le gestionnaire d'erreur me dis qu'il est impossible d'en executer. Je pense q Help please! Comment integrer une table déja remplie dans une DB ? [ par Angelus ] SalutMa question étant dans le topic, je voulais savoir sous VB comment je pouvais faire pour inserer une table remplie dans une base de données .cdb, HELP : AFFICHER UN TREEVIEW [ par thehitman ] Salut tt le monde,je cherche le code (ou l'algo) ki me permet d'afficher un treeview dont le nombre de niveau ainsi ke le nom des noeuds peuvent varie comment afficher tt les enregistrement d'une table ? [ par topolino ] comment afficher tt les enregistrement d'une table ?car pour l'instant je n'affiche qu'un seul nregistrement ds un champs c tout.moi ej les veux tous pb pour mettre a jour la BDD [ par canard66 ] Salut,g un pb car je souhaite modifier des enregistrements dans une BDD mais quand je le fais, il me dit soit que je ne peux pas car l'objet ne gere p PBS POUR AFFICHER DES MENUS CONTEXTUELS DANS UNE TREEVIEW [ par thehitman ] Hi, j'affiche un menu contextuel sur action du clic droit sur des objets dans une treeview. affichage sans pb du premier menu et plantage sur le secon Treeview dans un formulaire Access [ par BasicInstinct ] Slt @ tousJ'ai besoin de créer un treeview dans un formulaire Access ( Il doit me permettre de créer des requetes dynamiquement)exemple du treview : +


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.