[Aide] Problème avec requête SQL et affichage ComboBox

Signaler
Messages postés
21
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
3 février 2011
-
Messages postés
21
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
3 février 2011
-
Bonjours tout le monde!

J'ai un petit problème en ce qui concerne une requête sql et l'affichage dans une combobox qui en découle. Mon "DISTINCT" ne fonctionne pas et j'aimerais que lorsque l'utilisateur choisi un doublon dans "combooperation" sans qu'il voit que s'en est un, les codes "ARS_RESSOURCE" qui correspondent à ce doublon s'affiche dans "comboposte"(correspond au code).

Un exemple pour être plus clair:

Ce qui est dans la table..................Ce que voit l'utilisateur

Filtrage >>> 1000.........................Filtrage >>> 1000
Traitement >>> 2000.......................Traitement >>> Choisir code
Traitement >>> 2001.......................Emballage >>> 3000
Traitement >>> 2002
Emballage >>> 3000

Et voici le morceau de code concerné, qui n'est pas bon du tout mais c'est pour vous donner une base :)

'Execution requete SQL
Set sqlres Cnn1.Execute("SELECT DISTINCT ARS_LIBELLE, ARS_RESSOURCE From dbo_RESSOURCE WHERE ARS_TYPERESSOURCE ""MAT"" ", , adCmdText)

'Selection avec les Combobox
Do While Not sqlres.EOF
    combooperation.AddItem (sqlres.Fields("ARS_LIBELLE"))
    comboposte.AddItem (sqlres.Fields("ARS_RESSOURCE"))
    sqlres.MoveNext
Loop


Merci! :)

5 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
Salut
Pas tout compris à tes explications, mais un truc me chagrine :
Set sqlres = Cnn1.Execute(...
De quel type est ton RecordSet ? ADO ? DAO ?
Une vraie syntaxe ADO serait :
sqlres.CursorLocation = adUseClient
sqlres.Open "Select ...", Cnn1, adOpenStatic, adLockReadOnly

Bizarre

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
Pour ton histoire de Distinct :
Si tu utilises Distinct dans une requête, les lignes éliminées concernent la combinaison entière des champs.
Si tu as, dans tes deux champs
A A
A B
B A
B B
un Distinct en demandant les deux champs affichera tous ces champs, puisque les combinaisons du premier et du second champ sont uniques.
Si tu ne veux récupérer qu'un seul A et un seul B, il faudra faire 2 requêtes, une pour chacun des champs.
Messages postés
21
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
3 février 2011

C'est ADO, qu'est ce que tu n'as pas compris?

Je vais faire deux requêtes alors :)

Pour mon problème principale, en faite il faudrait un truc du genre(c'est faux, mais juste pour un exemple):

Si (sqlres.Fields("ARS_LIBELLE")) est un doublon alors
Do While Not sqlres.EOF
comboposte.AddItem (sqlres.Fields("ARS_RESSOURCE")) du doublon en question
sqlres.MoveNext
Loop
Sinon
comboposte.AddItem (sqlres.Fields("ARS_RESSOURCE")) de l'étape en question
Fin si

C'est compréhensible ce que j'écrit? ^^
Messages postés
21
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
3 février 2011

Personne? J'aurais vraiment besoin, d'aide, je m'en sors pas là :'(

Merci
Messages postés
21
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
3 février 2011

Toujours personne pour me donner un coup de main ? :(