Bonjour,
Je fais face à un mystère, et je crains que ce ne soit un bug dans le driver ADO, ce qui me mettrait face à un mur.
J'ai un outil développé en VB6 qui fournit des statistiques à nos dirigeants et nos commerciaux. Il est complet et souple, et ma foi donnait satisfaction, jusqu'à ce qu'on nous demande de faire de la consolidation sur certaines sociétés du groupe. Pour accomplir çà, et sachant que les données spécifiques aux sociétés sont dans des bibliothèques séparées, j'ai fait une requête sur d'autres requêtes, et utilisé une clause UNION pour regrouper les données des sous-requêtes.
Et ma foi çà marche bien, voire très bien.
Jusqu'à ce qu'une requête soit lancée avec regroupement sur une zone spécifique, le département géographique. Cette zone est une sous-zone du champ code postal. Avec une requête SQL normale, pas de soucis, çà passe. Mais avec ma requête hiérarchique, une erreur apparait et en plus elle est totalement inutile. Erreur -2147217900 "Une ou plusieurs erreurs se sont produites lors du traitement de la commande.". Mais aucune information complémentaire, et le serveur ne semble même pas recevoir la commande, ce qui indiquerait une erreur générée/traitée par le PC.
Çà fonctionne très bien si je fais une requête du genre :ou :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Select left(CodePostal, 2) as Dept, sum(QteFacture * PrixVenteEuros) as CA group by left(CodePostal, 2) order by DeptPar contre j'ai une erreur si je fais celà :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Select Dept, CA from ( Select Dept, sum(QteFacture * PrixVenteEuros) as CA group by Dept order by Dept ) as Tbl group by Dept order by Dept
Une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Select Dept, CA from ( Select left(CodePostal, 2) as Dept, sum(QteFacture * PrixVenteEuros) as CA group by left(CodePostal, 2) order by Dept ) as Tbl group by Dept order by Dept
Partager