La fonction distinct en vb6

Bonjour

J'ai un petit probléme avec la fonction "distinct"
Ce que je savais de cette fonction, est qu'elle évite le doublon dans une combox.
Ma constation est qu'elle efficace seulement quant un mot se répete 2 fois, alors que dans le cas où
un mot se répéte plus que 2 fois, la fonction "Distinct" élimine un élément.

Y'a t il une solution à cette faille ?

Je mets à votre disposition mon code:

cmbTravaux.Clear

SQLs = "select Distinct(Travaux) from TableTravaux where (Societe='" & CStr(VarSociete) & "')"

If RS.State = adStateOpen Then RS.Close
RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic

Do Until RS.EOF

cmbTravaux.AddItem (RS![Travaux])

RS.MoveNext
Loop
RS.Close


Merci d'avance pour toute réponse

1 réponse

  1. Modérateur
    Bonjour,
    Ta question ne concerne pas le VB ... mais le SQL (autre forum...)
    Quoi qu'il en soit, la fonction DISTINCT s'utilise en général avec la fonction GROUP BY
    par exemple :
    SELECT DISTINCT(Travaux )
    FROM TableTravaux
    WHERE Societe='" & CStr(VarSociete) & "'
    GROUP BY  Travaux"
    

    0
    1. Bonjour,

      Avant tout un grand merci pour votre réponse et pour m'avoir orienter vers le forum adéquat.
      cela dit, je vous promets que, pour mon code envoyé ci haut, j'ai suivi vos recommandations à la lettre, j'ai sélectionné le code, puis j'ai cliqué sur l’icône <> et puis sélectionné Basic.
      Si jamais, ça n'a pas réussi, ou c'est moi qui n'a pas bien sélectionné le texte ou je n'ai pas encore bien assimilé
      l'exemple envoyé

      En tout mes sincères excuses
      0
    2. Re bonjour

      Voilà j'ai essayé votre proposition et ça n' a pas marché.
      Je voulais posté ce probléme sur le forum SQL mais je n'ai pas trouvé.

      Merci de m'orienter
      0
    3. Bonjour,

      J'ai essaye votre code dans le projet que vous m'avez passe et y a aucun problème deux ou x "doublons" ca marche et je ne vois pas pourquoi ca ne marcherait pas!!!!!
      0
    4. Bonjour

      Le code marche bien. C'est de ma faute. Je n'ai pas fais attention à un E sans accent en fin de la chaîne, alors que les autres sont avec E accent

      Merci pour tout
      0