PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Création dynamique de source de données impossible ?
Création dynamique de source de données impossible ?
Iniciado por rodolphe, 26,oct. 2004 13:20 - 3 respuestas
Publicado el 26,octubre 2004 - 13:20
Bonjour
J'ai un soucis avec la récursivité.
Pour faire simple, je parcours un arbre.
J'ai une fonction qui a pour paramètre un identifiant.
Je parcours le premier niveau, et ensuite, dans ma fonction, je cree une requete qui va recuperer tous les fils, et je recupere le resultat de ma fonction sur ces fils.

le code :

ReqcompFils est une Source de Données
HExécuteRequêteSQL("ReqcompFils", "SELECT id FROM component WHERE parentid = " + leComponentid)
SI HNbEnr("ReqcompFils") > 0 ALORS
HLitPremier("ReqcompFils")
texte += componentGetTexte(ReqcompFils.id)
HLitSuivant({"ReqcompFils")
HAnnuleDéclaration("ReqcompFils")
FIN

Sur le principe ça parait correct sauf que la source de données semble ne pas être spécifique à l'environnement de chaque execution de la fonction. Bref, de recreer dans un nouveau passage de la fonction une nouvelle source de données ayant le meme nom, et bouger le pointeur courant, ça foire completement.

Donc je pensais (au plus simple) gérer un nom unique de requete, du genre :
"reqcompfils" + identifiant_unique du noeud en cours
et ainsi utiliser à chaque fois dans l'appel à la requete une indirection du style : {"reqcompfils" + identifiant_unique}

Or lorsque je declare ma source, par exemple :
{"ReqcompFils" + identifiant_unique} est une source de données
ça ne fonctionne pas, la syntaxe n'est pas correcte.
Y a t-il un moyen autre que le compile() de faire cela ?

merci
Publicado el 27,octubre 2004 - 00:04
"Rodolphe" <rodolphe@garance.fr> écrivait news:417e0d48@news.pcsoft.fr:

> {"ReqcompFils" + identifiant_unique} est une source de donn‚es

Salut,

Essaie :
ReqcompFils est une source de données="ReqcompFils"+DonneIdentifiant()

Et ne touche pas le reste du code !

--
En esperant t'avoir aidé.
ted
Publicado el 27,octubre 2004 - 01:27
Meme si la definition de source de donnees est locale, je crois que WinDev considere la source de donness globale.
Publicado el 27,octubre 2004 - 13:53
Ok formidable, la ligne que tu m'as donné fonctionne :
ReqcompFils est une source de données="ReqcompFils"+DonneIdentifiant()

Par contre je ne comprends pas du tout pourquoi ça fonctionne !!!
on définit une source de données, et on lui assigne une valeur texte qui serait son nom ????
késako ?