Bonjour,

J'essaye d'utiliser la requête suivante dans un data reader attaquant une base de donnée access à l'intention d'un graphique.

Globalement la requête renvoie 3 valeur: Un credit, un débit et la somme cumulée de 2. Periode est un entier qui s'incrémente (Année)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT -T1.Credit,
T1.Debit,
(SELECT Sum(T2.Debit - T2.Credit) FROM Operation As T2 WHERE T2.Periode <= T1.Periode AND T1.Nom = T2.Nom) AS Total
 FROM Operation AS T1  WHERE (((T1.Nom)='NomCompte')) ORDER BY T1.Periode
La requête fonctionne parfaitement sous Access.

Mais le datareader panique sur la colonne avec la sous-requête (le Total), en effet il renvoie une copie de la colonne précédente (T1.Débit dans l'exemple, mais si on inverse les deux première ligne il renvoie alors T1.Credit).

Il n'y a aucune exception qui est levée, j'utilise le framework 3.5.

Je vais personnellement pas me prendre la tête et charger débit, crédit dans une datatable et calculer la somme cumulée des deux colonnes à la volée. Néanmoins je trouve ce comportement bizarre !

Avez-vous déjà eu des problèmes avec des sous-requêtes sous ADO.Net?