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:
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...
SELECT DISTINCT Produit, lot FROM tatable ORDER BY produit
S.L.B.
<hr />-- 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
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.
<hr />-- 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 --
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
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 ...
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.
salut
voila mon exemple dans la partie propriete de ma liste de choix mais j' ai des doublon
SELECT [3 suivi entreprise d'accueil].Numero, [3 suivi entreprise d'accueil].[Entr sigle] FROM [3 suivi entreprise d'accueil];
comment faire pour ne pas avoir de doublon merci