OVH Cloud OVH Cloud

WD9 34j - requete paramétrée

4 réponses
Avatar
I.G.LOG
Bonjour,
J'ai un problème avec une requete paramétrée. Cette requete ne me renvoie
pas les bons résultats si je l'exécute par l'éditeur (tester la requete) ou
par un état (donc :InitRequeteEtat). J'ai testé la requete avec SQLEXEC et
là elle fonctionne bien ????!!!!!
Avez vous rencontré ce problème ?
Merci à tous

Voici le code de la requete, complexe il est vrai, mais je vous la donne à
titre d'info (ne vous cassez pas trop la tete dessus :-)
Rappel: avec sqlexec elle fonctionne (en substituant les paramètres par des
valeurs)

select
ARTICLE.IDARTICLE,ARTICLE.ABRCONST,ARTICLE.DESIGNATION,ARTICLE.REFCONST,
ARTSTOCK.ETAT, 'E' as TypeMvt,
sum(STOCKMVT.QTE) as Total
from ARTICLE,ARTSTOCK,STOCKMVT,STOCK
where STOCKMVT.TYPEDEST = 'M'
and ARTSTOCK.IDARTSTOCK = STOCKMVT.NUMDEST
and STOCK.IDSTOCK = ARTSTOCK.IDSTOCK
and STOCK.NUMSOC = {pNumSoc}
and ARTICLE.IDARTICLE = ARTSTOCK.IDARTICLE
and ARTICLE.REFTA between {pDe} and {pA}
and ARTSTOCK.ETAT = {pEtat}
and ARTSTOCK.IDSTOCK = {pNumMag}
and STOCKMVT.DATE between {pDateDe} and {pDateA}
group by ABRCONST,REFCONST,ETAT,TypeMvt,IDARTICLE,DESIGNATION
union all
select
ARTICLE.IDARTICLE,ARTICLE.ABRCONST,ARTICLE.DESIGNATION,ARTICLE.REFCONST,
ARTSTOCK.ETAT, 'S' as TypeMvt,
sum(STOCKMVT.QTE) as Total
from ARTICLE,ARTSTOCK,STOCKMVT,STOCK
where STOCKMVT.TYPEORIG = 'M'
and ARTSTOCK.IDARTSTOCK = STOCKMVT.NUMORIG
and STOCK.IDSTOCK = ARTSTOCK.IDSTOCK
and STOCK.NUMSOC = {pNumSoc}
and ARTICLE.IDARTICLE = ARTSTOCK.IDARTICLE
and ARTICLE.REFTA between {pDe} and {pA}
and ARTSTOCK.ETAT = {pEtat}
and ARTSTOCK.IDSTOCK = {pNumMag}
and STOCKMVT.DATE between {pDateDe} and {pDateA}
group by ABRCONST,REFCONST,ETAT,TypeMvt,IDARTICLE,DESIGNATION
having Total > 0
order by ABRCONST,REFCONST

4 réponses

Avatar
ManuPavy
I.G.LOG a écrit :
Bonjour,
J'ai un problème avec une requete paramétrée. Cette requete ne me renvoie
pas les bons résultats si je l'exécute par l'éditeur (tester la requete) ou
par un état (donc :InitRequeteEtat). J'ai testé la requete avec SQLEXEC et
là elle fonctionne bien ????!!!!!
Avez vous rencontré ce problème ?
8< 8<



Oui, j'ai déjà eu le problème.
Et je l'ai résolu en ... passant par SQLexec (et la construction de la
requete dans le code).


Manu
Avatar
I.G.LOG
Bonjour et merci pour la réponse.

Cette requete est utilisée depuis un état. Dois je donc modifier l'état pour
qu'il ne se base plus sur cette requete ? Quel type d'état choisir ?
Encore merci
PS: une nouvelle régression de la version 9 (cette requète - que j'ai mis
longtemps à mettre au point - fonctionnait sous WD8)

"ManuPavy" a écrit dans le message de
news:dtn0b7$asc$
I.G.LOG a écrit :
> Bonjour,
> J'ai un problème avec une requete paramétrée. Cette requete ne me


renvoie
> pas les bons résultats si je l'exécute par l'éditeur (tester la requete)


ou
> par un état (donc :InitRequeteEtat). J'ai testé la requete avec SQLEXEC


et
> là elle fonctionne bien ????!!!!!
> Avez vous rencontré ce problème ?
> 8< 8<

Oui, j'ai déjà eu le problème.
Et je l'ai résolu en ... passant par SQLexec (et la construction de la
requete dans le code).


Manu


Avatar
steph
peut être essaye ceci :
STOCKMVT.QTE>0 plutôt que Total>0
mais franchement je ne pense pas que ce soit ça, mais c'était juste
une idée.
A+
Avatar
Harvey
"I.G.LOG" a écrit dans le message de news:
43feef6b$0$29180$
Bonjour,
J'ai un problème avec une requete paramétrée. Cette requete ne me renvoie
pas les bons résultats si je l'exécute par l'éditeur (tester la requete)
ou
par un état (donc :InitRequeteEtat). J'ai testé la requete avec SQLEXEC et
là elle fonctionne bien ????!!!!!
Avez vous rencontré ce problème ?
Merci à tous

Voici le code de la requete, complexe il est vrai, mais je vous la donne à
titre d'info (ne vous cassez pas trop la tete dessus :-)
Rappel: avec sqlexec elle fonctionne (en substituant les paramètres par
des
valeurs)

select
ARTICLE.IDARTICLE,ARTICLE.ABRCONST,ARTICLE.DESIGNATION,ARTICLE.REFCONST,
ARTSTOCK.ETAT, 'E' as TypeMvt,
sum(STOCKMVT.QTE) as Total
from ARTICLE,ARTSTOCK,STOCKMVT,STOCK
where STOCKMVT.TYPEDEST = 'M'
and ARTSTOCK.IDARTSTOCK = STOCKMVT.NUMDEST
and STOCK.IDSTOCK = ARTSTOCK.IDSTOCK
and STOCK.NUMSOC = {pNumSoc}
and ARTICLE.IDARTICLE = ARTSTOCK.IDARTICLE
and ARTICLE.REFTA between {pDe} and {pA}
and ARTSTOCK.ETAT = {pEtat}
and ARTSTOCK.IDSTOCK = {pNumMag}
and STOCKMVT.DATE between {pDateDe} and {pDateA}
group by ABRCONST,REFCONST,ETAT,TypeMvt,IDARTICLE,DESIGNATION
union all
select
ARTICLE.IDARTICLE,ARTICLE.ABRCONST,ARTICLE.DESIGNATION,ARTICLE.REFCONST,
ARTSTOCK.ETAT, 'S' as TypeMvt,
sum(STOCKMVT.QTE) as Total
from ARTICLE,ARTSTOCK,STOCKMVT,STOCK
where STOCKMVT.TYPEORIG = 'M'
and ARTSTOCK.IDARTSTOCK = STOCKMVT.NUMORIG
and STOCK.IDSTOCK = ARTSTOCK.IDSTOCK
and STOCK.NUMSOC = {pNumSoc}
and ARTICLE.IDARTICLE = ARTSTOCK.IDARTICLE
and ARTICLE.REFTA between {pDe} and {pA}
and ARTSTOCK.ETAT = {pEtat}
and ARTSTOCK.IDSTOCK = {pNumMag}
and STOCKMVT.DATE between {pDateDe} and {pDateA}
group by ABRCONST,REFCONST,ETAT,TypeMvt,IDARTICLE,DESIGNATION
having Total > 0
order by ABRCONST,REFCONST





Bonjour,

Moi j'ai trouvé beaucoup des problèmes avecs des unions dans WinDev, alors
j'ai fait un view et j'ai mis le view dans l'analyse, et j'ai appellé le
view dans l'état. Ca marche!

Harvey