[Aide] Problème avec requête SQL et affichage ComboBox
Okutsuko
Messages postés21Date d'inscriptionvendredi 4 janvier 2008StatutMembreDernière intervention 3 février 2011
-
20 mai 2010 à 11:30
Okutsuko
Messages postés21Date d'inscriptionvendredi 4 janvier 2008StatutMembreDerniè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
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! :)
A voir également:
[Aide] Problème avec requête SQL et affichage ComboBox
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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 :
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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.
Okutsuko
Messages postés21Date d'inscriptionvendredi 4 janvier 2008StatutMembreDerniè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