Bonjour,
J'utilises IBExpert sur des bases IB6 depuis quelques semaines et il me facilite bien la vie.
Mais, il m'induit en erreur régulièrement avec le nombre de décimales des champs DOUBLE PRECISION qu'il affiche.
Ex :Cette requête retourne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 SELECT CDE_CODRESA, CDE_NOENREG, CDE_MTTTC, (SELECT SUM(REG_MTENCAIS) FROM REGLEMENTS WHERE REG_NORESA = E.CDE_CODRESA AND REG_NOLIGNE = E.CDE_NOENREG GROUP BY REG_NORESA,REG_NOLIGNE) PAYE FROM ENTETES_RESA E WHERE (SELECT SUM(REG_MTENCAIS) FROM REGLEMENTS WHERE REG_NORESA = E.CDE_CODRESA AND REG_NOLIGNE = E.CDE_NOENREG GROUP BY REG_NORESA,REG_NOLIGNE) <> CDE_MTTTCLe problème ici c'est que pour les 2 dernières lignes CDE_MTTTC = PAYE = 183.16 et donc ces lignes ne devraient pas être retournées.CDE_CODRESA CDE_NOENREG CDE_MTTTC PAYE
2809 20 124.38 NULL
2027 20 183.16 183.16
2027 40 183.16 183.16
Ce qui est d'autant plus vrai qu'elles ne sont pas retournées si je fais :D'où ma question : est-ce un problème de paramétrage d'IBExpert ? Du type de mes champs ? Un bug de IBExpert ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 SELECT CDE_CODRESA, CDE_NOENREG, CDE_MTTTC, (SELECT ROUND( SUM(REG_MTENCAIS), 2 ) FROM REGLEMENTS WHERE REG_NORESA = E.CDE_CODRESA AND REG_NOLIGNE = E.CDE_NOENREG GROUP BY REG_NORESA,REG_NOLIGNE) PAYE FROM ENTETES_RESA E WHERE (SELECT ROUND( SUM(REG_MTENCAIS), 2 ) FROM REGLEMENTS WHERE REG_NORESA = E.CDE_CODRESA AND REG_NOLIGNE = E.CDE_NOENREG GROUP BY REG_NORESA,REG_NOLIGNE) <> ROUND(CDE_MTTTC, 2)
Partager