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

Okutsuko Messages postés 21 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 3 février 2011 - 20 mai 2010 à 11:30
Okutsuko Messages postés 21 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 3 février 2011 - 25 mai 2010 à 08:49
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

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
20 mai 2010 à 12:54
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)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
20 mai 2010 à 12:59
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.
0
Okutsuko Messages postés 21 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 3 février 2011
20 mai 2010 à 13:51
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? ^^
0
Okutsuko Messages postés 21 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 3 février 2011
21 mai 2010 à 08:47
Personne? J'aurais vraiment besoin, d'aide, je m'en sors pas là :'(

Merci
0

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

Posez votre question
Okutsuko Messages postés 21 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 3 février 2011
25 mai 2010 à 08:49
Toujours personne pour me donner un coup de main ? :(
0
Rejoignez-nous