|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2009 Messages : 130 ![]() |
Bonsoir,
Je dispose d'une série de trois requête effectué dans trois tables différentes mais de même structure. Comment joindre les résultats dans un même listebox. Code :
|
||
|
|
00
|
|
|
#2 | |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 410 ![]() |
bonsoir fisio,
si je comprends bien tu as besoin de combiner les résultats de plusieurs requêtes sélection à l'aide d'une requête union je note également que tu emploies l'opérateur DISTINCTROW, or: Citation:
|
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2009 Messages : 130 ![]() |
Merci,
Mais quelle syntaxe employer avec UNION ? |
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Nicolas GuimbalConsultant/développeur ERP Inscription : mai 2008 Messages : 1 254 ![]() |
Bonsoir,
Par défaut UNION évite de dupliquer les lignes identiques (sauf s'il est suivi de ALL) Il suffit donc de mettre les 3 requetes bout à bout : Code :
la seule condition est que les champs d'une même colonne soient de même nature |
||
|
|
00
|
|
|
#5 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2009 Messages : 130 ![]() |
Très bien une dernière question cependant. Comment ce code s'exprime en VBA comme dans le code d'origine.
Code :
|
||
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2009 Messages : 130 ![]() |
Ok le code fonctionne correctement. Cependant comment obtenir des entêtes de colonnes de la liste-box reprenant les légendes des champs. Ces derniers sont actuellement nommés par le nom de la table suivi du nom du champ.
Merci |
|
|
00
|
|
|
#7 | ||
|
Membre éprouvé
![]() Jean-Yves DUMASConsultant informatique Inscription : juin 2010 Messages : 325 ![]() |
Bonjour,
Il suffit de mettre un alias AS ... Ici : Code :
Nota2 : pour une requete Union, mets bien les mêmes alias au même endroit en respectant le même ordre des champs
__________________
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème !!!si tout est OK, n'oubliez pas de cliquer sur
|
||
|
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2009 Messages : 130 ![]() |
un grand merci. enfin comment puis ordonner le classement selon un champ?
|
|
|
00
|
|
|
#9 | ||
|
Membre éprouvé
![]() Jean-Yves DUMASConsultant informatique Inscription : juin 2010 Messages : 325 ![]() |
Normalement, c'est la clause ORDER BY
Attention cependant. Dans le cas d'une requête UNION, l'ORDER BY ne fonctionnera pas. La seule solution sera de passer par une requête qui prendra la requete UNION comme source ... difficilement compatible avec un code VBA sauf si tu arrive à le construire de cette manière là : Code :
__________________
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème !!!si tout est OK, n'oubliez pas de cliquer sur
|
||
|
|
00
|
|
|
#10 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2009 Messages : 130 ![]() |
J'ai une question concernant les intitulés des colonnes de la listebox :
Ce que j'ai compris c'est que lors des associations de requête avec la formule UNION les précisions AS ne se positionne que sur la première requête suivi de : .<champ xx> as ... Comment peut on expliquer ce : ".<champ xx> as ..." Code :
|
||
|
|
00
|
|
|
#11 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2009 Messages : 130 ![]() |
Pour le by order comment peut on envisager un tri au sein même des tables différent de la clef primaire.
|
|
|
00
|
|
|
#12 | ||
|
Membre éprouvé
![]() Jean-Yves DUMASConsultant informatique Inscription : juin 2010 Messages : 325 ![]() |
Citation:
Citation:
__________________
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème !!!si tout est OK, n'oubliez pas de cliquer sur
|
||
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() Nicolas GuimbalConsultant/développeur ERP Inscription : mai 2008 Messages : 1 254 ![]() |
Pour info (tardive), Order by est possible dans une requête union à condition d'utiliser les n° de colonne (ce qui est aussi possible dans une requete simple d'ailleurs).
Cf mon post précédent |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com