Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Sous-requête par l'éditeur

2 réponses
Avatar
pyfux
Bonjour à tous, et vive Windev 14 ! ( qui a testé la version 13 ???)

Un petite question de débutant:

J'ai créé sous l'éditeur une requête REQ_MAIN sur la table MAIN qui me
remonte uniquement un champ identifiant selon un filtre paramétré du type:
MAIN.DATE > param_date

J'ai également créé sous l'éditeur une requête REQ_SUB sur la table SUB
avec comme critère :
SUB.CLEF_EXTERNE n'importe quelle valeur de (ANY) REQ_MAIN

Donc logiquement, je n'ai pas de paramètre à passer à ma requête
REQ_SUB, néanmoins, à un moment donnée (hExecuteRequête) il faut bien
que je fixe le paramètre (param_date) de REQ_MAIN, non ?

Comment doit-on le faire ?

Cet exemple de code ne fonction pas:

----------------------------------------------
REQ_MAIN.Param1=SAI_DATE_DEBUT..Valeur

SI HExécuteRequête(REQ_SUB , hRequêteDéfaut) ALORS
HLitPremier(REQ_SUB)
TANTQUE PAS HEnDehors(REQ_SUB)

//Pas d'itération !

HLitSuivant(REQ_SUB)
FIN
FIN
----------------------------------------------

Merci pour votre aide,

Avec ce petit problème je suis complètement bloqué!

PyFux

2 réponses

Avatar
mat
wrote on 14.10.2008 :
REQ_MAIN.Param1=SAI_DATE_DEBUT..Valeur

SI HExécuteRequête(REQ_SUB , hRequêteDéfaut) ALORS
HLitPremier(REQ_SUB)
TANTQUE PAS HEnDehors(REQ_SUB)

//Pas d'itération !

HLitSuivant(REQ_SUB)
FIN
FIN
----------------------------------------------




Bonsoir,

Si Windev n'a pas changé dans ce coin depuis la version 10, ce
comportement est normal car REQ_MAIN n'a pas été lancé. Avec Windev une
requête enchaînée ne lance pas automatiquement la première.
En oûtre, dans mon expérience utiliser des requêtes du projet
énchaînées n'est pas une solution performante. Vaut mieux créer deux
sources de données et utiliser hExecuteRequeteSQL.

Salutations
Mat
Avatar
pyfux
mat a écrit :
wrote on 14.10.2008 :
REQ_MAIN.Param1=SAI_DATE_DEBUT..Valeur

SI HExécuteRequête(REQ_SUB , hRequêteDéfaut) ALORS
HLitPremier(REQ_SUB)
TANTQUE PAS HEnDehors(REQ_SUB)

//Pas d'itération !

HLitSuivant(REQ_SUB)
FIN
FIN
----------------------------------------------




Bonsoir,

Si Windev n'a pas changé dans ce coin depuis la version 10, ce
comportement est normal car REQ_MAIN n'a pas été lancé. Avec Windev une
requête enchaînée ne lance pas automatiquement la première.
En oûtre, dans mon expérience utiliser des requêtes du projet énchaînées
n'est pas une solution performante. Vaut mieux créer deux sources de
données et utiliser hExecuteRequeteSQL.

Salutations
Mat





Merci pour votre réponse,

Je constate donc que cette fonctionnalité est limité.

Heureusement qu'en passant par l'éditeur SQL on obtient la reqête à
utiliser dans le code et à lancer par hExecuteRequeteSQL.

C'est quand même dommage!