Bonjour,
Je suis devant le problème suivant : je n'arrive pas à imbriquer des
parcours sur une même requête (requête intégré au projet utilisé avec
HExecuteRequete())
Avec les fonctions HlitRecherche() j'utilisait HSauvePostion() et
HRetourPosition() mais là je suis complètement coincé !
Bonjour,
Je suis devant le problème suivant : je n'arrive pas à imbriquer des
parcours sur une même requête (requête intégré au projet utilisé avec
HExecuteRequete())
Avec les fonctions HlitRecherche() j'utilisait HSauvePostion() et
HRetourPosition() mais là je suis complètement coincé !
Bonjour,
Je suis devant le problème suivant : je n'arrive pas à imbriquer des
parcours sur une même requête (requête intégré au projet utilisé avec
HExecuteRequete())
Avec les fonctions HlitRecherche() j'utilisait HSauvePostion() et
HRetourPosition() mais là je suis complètement coincé !
PERCAPITA a écrit :Bonjour,
Je suis devant le problème suivant : je n'arrive pas à imbriquer des
parcours sur une même requête (requête intégré au projet utilisé avec
HExecuteRequete())
Avec les fonctions HlitRecherche() j'utilisait HSauvePostion() et
HRetourPosition() mais là je suis complètement coincé !
et copiant-collant la requete pour en faire une deuxieme identique ?
et pis si ca marche, ptet voir avec les alias pour éviter le copie/coller
PERCAPITA a écrit :
Bonjour,
Je suis devant le problème suivant : je n'arrive pas à imbriquer des
parcours sur une même requête (requête intégré au projet utilisé avec
HExecuteRequete())
Avec les fonctions HlitRecherche() j'utilisait HSauvePostion() et
HRetourPosition() mais là je suis complètement coincé !
et copiant-collant la requete pour en faire une deuxieme identique ?
et pis si ca marche, ptet voir avec les alias pour éviter le copie/coller
PERCAPITA a écrit :Bonjour,
Je suis devant le problème suivant : je n'arrive pas à imbriquer des
parcours sur une même requête (requête intégré au projet utilisé avec
HExecuteRequete())
Avec les fonctions HlitRecherche() j'utilisait HSauvePostion() et
HRetourPosition() mais là je suis complètement coincé !
et copiant-collant la requete pour en faire une deuxieme identique ?
et pis si ca marche, ptet voir avec les alias pour éviter le copie/coller
PERCAPITA a exposé le 10/02/2007 :Bonjour,
Je suis devant le problème suivant : je n'arrive pas à imbriquer des
parcours sur une même requête (requête intégré au projet utilisé avec
HExecuteRequete())
A priori, à part utiliser HExecuteRequeteSQL, perso, je ne vois pas de
solution.
PERCAPITA a exposé le 10/02/2007 :
Bonjour,
Je suis devant le problème suivant : je n'arrive pas à imbriquer des
parcours sur une même requête (requête intégré au projet utilisé avec
HExecuteRequete())
A priori, à part utiliser HExecuteRequeteSQL, perso, je ne vois pas de
solution.
PERCAPITA a exposé le 10/02/2007 :Bonjour,
Je suis devant le problème suivant : je n'arrive pas à imbriquer des
parcours sur une même requête (requête intégré au projet utilisé avec
HExecuteRequete())
A priori, à part utiliser HExecuteRequeteSQL, perso, je ne vois pas de
solution.
que le nom de la requête soit dynamique. C'est qd même étrange (et
inquiétant) que le nom de la requête est une portée globale ! Pour info
voici un extrait de mon code :
que le nom de la requête soit dynamique. C'est qd même étrange (et
inquiétant) que le nom de la requête est une portée globale ! Pour info
voici un extrait de mon code :
que le nom de la requête soit dynamique. C'est qd même étrange (et
inquiétant) que le nom de la requête est une portée globale ! Pour info
voici un extrait de mon code :
"PERCAPITA" a écrit dans le message de
news:45d0dee3$0$5077$que le nom de la requête soit dynamique. C'est qd même étrange (et
inquiétant) que le nom de la requête est une portée globale ! Pour info
voici un extrait de mon code :
amha c'est normal, les fichiers sont globaux
est ce vraiment normal de lancer récursivement des requetes sql ?
n'y a t'il pas moyen de faire un algo linéaire ?
"PERCAPITA" <PERCAPITA@WANADOO.fr> a écrit dans le message de
news:45d0dee3$0$5077$ba4acef3@news.orange.fr...
que le nom de la requête soit dynamique. C'est qd même étrange (et
inquiétant) que le nom de la requête est une portée globale ! Pour info
voici un extrait de mon code :
amha c'est normal, les fichiers sont globaux
est ce vraiment normal de lancer récursivement des requetes sql ?
n'y a t'il pas moyen de faire un algo linéaire ?
"PERCAPITA" a écrit dans le message de
news:45d0dee3$0$5077$que le nom de la requête soit dynamique. C'est qd même étrange (et
inquiétant) que le nom de la requête est une portée globale ! Pour info
voici un extrait de mon code :
amha c'est normal, les fichiers sont globaux
est ce vraiment normal de lancer récursivement des requetes sql ?
n'y a t'il pas moyen de faire un algo linéaire ?
Hello,
Malheureusement non car sinon le récursif je m'en serait bien passé. Note
bien qu'un pro du SELECT aurait sans doute réussi avec une seule requête.
Je suis d'accord avec ta remarque les fichiers sont globaux mais pas les
requêtes écrite à la mano et executé avec HExcecuteRequeteSQL(). La preuve,
il a suffit de rendre dynamique le nom de ma source de données pour ne plus
avoir de problème.
Hello,
Malheureusement non car sinon le récursif je m'en serait bien passé. Note
bien qu'un pro du SELECT aurait sans doute réussi avec une seule requête.
Je suis d'accord avec ta remarque les fichiers sont globaux mais pas les
requêtes écrite à la mano et executé avec HExcecuteRequeteSQL(). La preuve,
il a suffit de rendre dynamique le nom de ma source de données pour ne plus
avoir de problème.
Hello,
Malheureusement non car sinon le récursif je m'en serait bien passé. Note
bien qu'un pro du SELECT aurait sans doute réussi avec une seule requête.
Je suis d'accord avec ta remarque les fichiers sont globaux mais pas les
requêtes écrite à la mano et executé avec HExcecuteRequeteSQL(). La preuve,
il a suffit de rendre dynamique le nom de ma source de données pour ne plus
avoir de problème.
PERCAPITA wrote:Hello,
Malheureusement non car sinon le récursif je m'en serait bien passé.
Note bien qu'un pro du SELECT aurait sans doute réussi avec une seule
requête.
Je suis d'accord avec ta remarque les fichiers sont globaux mais pas
les requêtes écrite à la mano et executé avec HExcecuteRequeteSQL(). La
preuve, il a suffit de rendre dynamique le nom de ma source de données
pour ne plus avoir de problème.
Bonjour,
un discours intéressant car le problème de nommage de sources de données
a été discuté à plusieurs reprises sans vraiment trouver une solution.
""
sdReqMvt est Source de Données = NumériqueVersChaîne(DonneIdentifiant())
SI HExécuteRequêteSQL(sdReqMvt, hReqSQL) ALORS
""
En fait, le nom n'est pas dynamique puisque celui utilisé dans
hExecuteRequete est toujours sdReqMvt et ne pas l'identifiant obtenu par
la procédure DonneIdentifiant() .
Mais c'est remarquable que ça fonctionne quand-même. Et puisque ce n'est
pas documenté: tu as trouvé par hasard?. Même le forum PC Soft et la FAQ
donne zéro messages pour "source de données". Il serait intéressant de
savoir comment accéder aux instances spécifiques de la requête.
Merci et salutations
Mat
PERCAPITA wrote:
Hello,
Malheureusement non car sinon le récursif je m'en serait bien passé.
Note bien qu'un pro du SELECT aurait sans doute réussi avec une seule
requête.
Je suis d'accord avec ta remarque les fichiers sont globaux mais pas
les requêtes écrite à la mano et executé avec HExcecuteRequeteSQL(). La
preuve, il a suffit de rendre dynamique le nom de ma source de données
pour ne plus avoir de problème.
Bonjour,
un discours intéressant car le problème de nommage de sources de données
a été discuté à plusieurs reprises sans vraiment trouver une solution.
""
sdReqMvt est Source de Données = NumériqueVersChaîne(DonneIdentifiant())
SI HExécuteRequêteSQL(sdReqMvt, hReqSQL) ALORS
""
En fait, le nom n'est pas dynamique puisque celui utilisé dans
hExecuteRequete est toujours sdReqMvt et ne pas l'identifiant obtenu par
la procédure DonneIdentifiant() .
Mais c'est remarquable que ça fonctionne quand-même. Et puisque ce n'est
pas documenté: tu as trouvé par hasard?. Même le forum PC Soft et la FAQ
donne zéro messages pour "source de données". Il serait intéressant de
savoir comment accéder aux instances spécifiques de la requête.
Merci et salutations
Mat
PERCAPITA wrote:Hello,
Malheureusement non car sinon le récursif je m'en serait bien passé.
Note bien qu'un pro du SELECT aurait sans doute réussi avec une seule
requête.
Je suis d'accord avec ta remarque les fichiers sont globaux mais pas
les requêtes écrite à la mano et executé avec HExcecuteRequeteSQL(). La
preuve, il a suffit de rendre dynamique le nom de ma source de données
pour ne plus avoir de problème.
Bonjour,
un discours intéressant car le problème de nommage de sources de données
a été discuté à plusieurs reprises sans vraiment trouver une solution.
""
sdReqMvt est Source de Données = NumériqueVersChaîne(DonneIdentifiant())
SI HExécuteRequêteSQL(sdReqMvt, hReqSQL) ALORS
""
En fait, le nom n'est pas dynamique puisque celui utilisé dans
hExecuteRequete est toujours sdReqMvt et ne pas l'identifiant obtenu par
la procédure DonneIdentifiant() .
Mais c'est remarquable que ça fonctionne quand-même. Et puisque ce n'est
pas documenté: tu as trouvé par hasard?. Même le forum PC Soft et la FAQ
donne zéro messages pour "source de données". Il serait intéressant de
savoir comment accéder aux instances spécifiques de la requête.
Merci et salutations
Mat
Bonjour,
Ayant eu un problème voisin (traitement récursif d'un arbre avec
requête) nous avons nommé la requête
en concaténant un entier global incrémenté/décrémenté lors des
changements de niveau. L'accès à la requête
de niveau n reste donc possible simplement (bien que nous n'en ayons pas
eu besoin).
Bonjour,
Ayant eu un problème voisin (traitement récursif d'un arbre avec
requête) nous avons nommé la requête
en concaténant un entier global incrémenté/décrémenté lors des
changements de niveau. L'accès à la requête
de niveau n reste donc possible simplement (bien que nous n'en ayons pas
eu besoin).
Bonjour,
Ayant eu un problème voisin (traitement récursif d'un arbre avec
requête) nous avons nommé la requête
en concaténant un entier global incrémenté/décrémenté lors des
changements de niveau. L'accès à la requête
de niveau n reste donc possible simplement (bien que nous n'en ayons pas
eu besoin).
PERCAPITA wrote:
> Hello,
> Malheureusement non car sinon le récursif je m'en serait bien passé . Note
> bien qu'un pro du SELECT aurait sans doute réussi avec une seule requ ête.
> Je suis d'accord avec ta remarque les fichiers sont globaux mais pas les
> requêtes écrite à la mano et executé avec HExcecuteRequeteSQL() . La preuve,
> il a suffit de rendre dynamique le nom de ma source de données pour n e plus
> avoir de problème.
Bonjour,
un discours intéressant car le problème de nommage de sources de donn ées
a été discuté à plusieurs reprises sans vraiment trouver une solu tion.
""
sdReqMvt est Source de Données = NumériqueVersChaîne(DonneIdentif iant())
SI HExécuteRequêteSQL(sdReqMvt, hReqSQL) ALORS
""
En fait, le nom n'est pas dynamique puisque celui utilisé dans
hExecuteRequete est toujours sdReqMvt et ne pas l'identifiant obtenu par
la procédure DonneIdentifiant() .
Mais c'est remarquable que ça fonctionne quand-même. Et puisque ce n' est
pas documenté: tu as trouvé par hasard?. Même le forum PC Soft et l a FAQ
donne zéro messages pour "source de données". Il serait intéressant de
savoir comment accéder aux instances spécifiques de la requête.
Merci et salutations
Mat
PERCAPITA wrote:
> Hello,
> Malheureusement non car sinon le récursif je m'en serait bien passé . Note
> bien qu'un pro du SELECT aurait sans doute réussi avec une seule requ ête.
> Je suis d'accord avec ta remarque les fichiers sont globaux mais pas les
> requêtes écrite à la mano et executé avec HExcecuteRequeteSQL() . La preuve,
> il a suffit de rendre dynamique le nom de ma source de données pour n e plus
> avoir de problème.
Bonjour,
un discours intéressant car le problème de nommage de sources de donn ées
a été discuté à plusieurs reprises sans vraiment trouver une solu tion.
""
sdReqMvt est Source de Données = NumériqueVersChaîne(DonneIdentif iant())
SI HExécuteRequêteSQL(sdReqMvt, hReqSQL) ALORS
""
En fait, le nom n'est pas dynamique puisque celui utilisé dans
hExecuteRequete est toujours sdReqMvt et ne pas l'identifiant obtenu par
la procédure DonneIdentifiant() .
Mais c'est remarquable que ça fonctionne quand-même. Et puisque ce n' est
pas documenté: tu as trouvé par hasard?. Même le forum PC Soft et l a FAQ
donne zéro messages pour "source de données". Il serait intéressant de
savoir comment accéder aux instances spécifiques de la requête.
Merci et salutations
Mat
PERCAPITA wrote:
> Hello,
> Malheureusement non car sinon le récursif je m'en serait bien passé . Note
> bien qu'un pro du SELECT aurait sans doute réussi avec une seule requ ête.
> Je suis d'accord avec ta remarque les fichiers sont globaux mais pas les
> requêtes écrite à la mano et executé avec HExcecuteRequeteSQL() . La preuve,
> il a suffit de rendre dynamique le nom de ma source de données pour n e plus
> avoir de problème.
Bonjour,
un discours intéressant car le problème de nommage de sources de donn ées
a été discuté à plusieurs reprises sans vraiment trouver une solu tion.
""
sdReqMvt est Source de Données = NumériqueVersChaîne(DonneIdentif iant())
SI HExécuteRequêteSQL(sdReqMvt, hReqSQL) ALORS
""
En fait, le nom n'est pas dynamique puisque celui utilisé dans
hExecuteRequete est toujours sdReqMvt et ne pas l'identifiant obtenu par
la procédure DonneIdentifiant() .
Mais c'est remarquable que ça fonctionne quand-même. Et puisque ce n' est
pas documenté: tu as trouvé par hasard?. Même le forum PC Soft et l a FAQ
donne zéro messages pour "source de données". Il serait intéressant de
savoir comment accéder aux instances spécifiques de la requête.
Merci et salutations
Mat
nwjb wrote:
> Bonjour,
> Ayant eu un problème voisin (traitement récursif d'un arbre avec
> requête) nous avons nommé la requête
> en concaténant un entier global incrémenté/décrémenté lors des
> changements de niveau. L'accès à la requête
> de niveau n reste donc possible simplement (bien que nous n'en ayons pas
> eu besoin).
Merci pour cette confirmation. Je ne peux toujours pas croire qu'une
telle fonctionnalité ne soit pas documenté car elle est essentielle p our
centraliser/automatiser la gestion des requetes, p.ex. dans des classes.
Je viens de faire le petit test suivant, et je confirme que la source de
donnée maintient les deux instances en mémoire. Selon mes tests, les
données ne sont disponibles que via indirection. Ce n'est pas un
problème majeur, mais y-a-t il une autre façon de faire?
Merci
Mat
-----------------------------------------------------------
sQuery est chaîne
sQuery = "select * from contract "
dsSQL est une Source de Données = "maRequete1"
SI HExécuteRequêteSQL(dsSQL,sQuery) ALORS
SI HLitPremier("maRequete1") ALORS
Info({"maRequete1.IDcontract",indRubrique})
FIN
FIN
dsSQL = "maRequete2"
SI HExécuteRequêteSQL(dsSQL,sQuery) ALORS
SI HLitDernier("maRequete2") ALORS
Info({"maRequete1.IDcontract",indRubrique},
{"maRequete2.IDcontract",indRubrique})
FIN
FIN
-----------------------------------------------------------
nwjb wrote:
> Bonjour,
> Ayant eu un problème voisin (traitement récursif d'un arbre avec
> requête) nous avons nommé la requête
> en concaténant un entier global incrémenté/décrémenté lors des
> changements de niveau. L'accès à la requête
> de niveau n reste donc possible simplement (bien que nous n'en ayons pas
> eu besoin).
Merci pour cette confirmation. Je ne peux toujours pas croire qu'une
telle fonctionnalité ne soit pas documenté car elle est essentielle p our
centraliser/automatiser la gestion des requetes, p.ex. dans des classes.
Je viens de faire le petit test suivant, et je confirme que la source de
donnée maintient les deux instances en mémoire. Selon mes tests, les
données ne sont disponibles que via indirection. Ce n'est pas un
problème majeur, mais y-a-t il une autre façon de faire?
Merci
Mat
-----------------------------------------------------------
sQuery est chaîne
sQuery = "select * from contract "
dsSQL est une Source de Données = "maRequete1"
SI HExécuteRequêteSQL(dsSQL,sQuery) ALORS
SI HLitPremier("maRequete1") ALORS
Info({"maRequete1.IDcontract",indRubrique})
FIN
FIN
dsSQL = "maRequete2"
SI HExécuteRequêteSQL(dsSQL,sQuery) ALORS
SI HLitDernier("maRequete2") ALORS
Info({"maRequete1.IDcontract",indRubrique},
{"maRequete2.IDcontract",indRubrique})
FIN
FIN
-----------------------------------------------------------
nwjb wrote:
> Bonjour,
> Ayant eu un problème voisin (traitement récursif d'un arbre avec
> requête) nous avons nommé la requête
> en concaténant un entier global incrémenté/décrémenté lors des
> changements de niveau. L'accès à la requête
> de niveau n reste donc possible simplement (bien que nous n'en ayons pas
> eu besoin).
Merci pour cette confirmation. Je ne peux toujours pas croire qu'une
telle fonctionnalité ne soit pas documenté car elle est essentielle p our
centraliser/automatiser la gestion des requetes, p.ex. dans des classes.
Je viens de faire le petit test suivant, et je confirme que la source de
donnée maintient les deux instances en mémoire. Selon mes tests, les
données ne sont disponibles que via indirection. Ce n'est pas un
problème majeur, mais y-a-t il une autre façon de faire?
Merci
Mat
-----------------------------------------------------------
sQuery est chaîne
sQuery = "select * from contract "
dsSQL est une Source de Données = "maRequete1"
SI HExécuteRequêteSQL(dsSQL,sQuery) ALORS
SI HLitPremier("maRequete1") ALORS
Info({"maRequete1.IDcontract",indRubrique})
FIN
FIN
dsSQL = "maRequete2"
SI HExécuteRequêteSQL(dsSQL,sQuery) ALORS
SI HLitDernier("maRequete2") ALORS
Info({"maRequete1.IDcontract",indRubrique},
{"maRequete2.IDcontract",indRubrique})
FIN
FIN
-----------------------------------------------------------