PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Lecture de requète sous WD11
Lecture de requète sous WD11
Débuté par Jeff, 24 déc. 2006 01:09 - 4 réponses
Posté le 24 décembre 2006 - 01:09
Bonsoir

Pour remplir une table hierarchique, j'utilise ce code :

HLitPremier(Catégorie,IDCatégorie)

// on ajoute la première catégorie dans la table

TANTQUE PAS HEnDehors(Catégorie)
TableAjouteLigne(TH_articles,Catégorie.Titre,"","","")
// je connais la catégorie en cours je cherche les ss cat liées
HExécuteRequête(req_recherche_sous_catliées,hRequêteDéfaut,Catégorie.IDCatégorie)
// si ma requète contient des enrgistrements
SI HNbEnr(req_recherche_sous_catliées)>0 ALORS
HLitPremier(req_recherche_sous_catliées)

TANTQUE PAS HEnDehors(req_recherche_sous_catliées)
// ajout des sous catégorie en sous niveau des catégories
TableAjouteFils(TH_articles,1,req_recherche_sous_catliées.Nom)
HLitSuivant(req_recherche_sous_catliées)
FIN
FIN
HLitSuivant(Catégorie)
FIN

La table ne se remplit pas et quand je débuge il me dit :
req_recherche_sous_catliées="req_recherche_sous_catliées"

On dirait que WD 11 ne sait plus lire une requète comme un fichier hyperfile..
Y a-t-il une erreur passée inapercue malgré mon acharnement ?

Si qq peut m'éclairer... merci par avance
Posté le 24 décembre 2006 - 11:15
Bon j'ai essayé en utilisant l'instruction pour tout :

HLitPremier(Catégorie,IDCatégorie)

// on ajoute la première catégorie dans la table

TANTQUE PAS HEnDehors(Catégorie)

catID est un réel=Catégorie.IDCatégorie

TableAjouteLigne(TH_articles,Catégorie.Titre)

// on filtre les enregistrements de sous catégorie correspondant à la catégorie sélectionnée

POUR TOUT HFSous_catégorie AVEC IDCatégorie = catID

HLit(HFSous_catégorie,hNumEnrEnCours)
SScatId est un réel=HFSous_catégorie.IDSous_catégorie

TableAjouteFils(TH_articles,1,HFSous_catégorie.Nom)

// idem pour les articles

POUR TOUT Articles AVEC IDSous_catégorie = SScatId
HLit(Articles,hNumEnrEnCours)
SI PAS HLitRecherchePremier(Revue,IDRevue,Articles.IDRevue) ALORS
Info("Erreur lors de la recherche de la revue pour l'article : " Articles.Nom_article)
FIN
TableAjouteFils(TH_articles,2,Articles.Nom_article,Revue.Nom,Articles.IDArticles)
FIN
FIN
HLitSuivant(Catégorie,IDCatégorie)
FIN

Le remplissage de ma table hierarchique est toujours aussi loufoque.....
Peut-être y a-t-il une petite correction à faire dans le code, mais je sèche !

Encore une fois merci par avance à celui qui pourra m'aider.
Posté le 24 décembre 2006 - 12:59
Bonjour

je pense que ton problème vient de la ligne

TableAjouteFils(TH_articles,2,Articles.Nom_article,Revue.Nom,Articles.IDArticles)

Tout tes enregistrements ont pour racine la ligne 2 de la table.
Il te faut modifier l'indice de l'élément parent pour créer l'arborescence. voir aide en ligne.

Résultat> = TableAjouteFils(<Nom de la table>, <Indice de l'élément parent>
[, <Élément colonne 1>[...[, <Élément colonne N>]]])
Posté le 25 décembre 2006 - 19:56
Autre annomalie:
quand tu fais un Pour Tout "NomFichier"

tu n'as pas besoin de faire un HLit("NomFichier")
le pour tout fait déja une lecture !

A
Posté le 25 décembre 2006 - 20:42
Merci beaucoup à vous ...!