Procédure avec nom d'une rubrique en paramètre

Le
Dams
Bonjour à tous,

je bute sur une procédure que je souhaite utiliser pour récupérer
uniquement la valeur d'une rubrique dans un fichier HyperFile qui
concerne une liste d'articles. Il me faut donc passer en paramètre
l'ID de mon article (ça OK) mais aussi le nom du champ (ou rubrique).

Ci-dessous ma procédure qui en fonctionne pas à cause du paramètre
champ que j'utilise pour passer le nom de la rubrique que je veux
récupérer

Exemple : Info_Article(8, "CODE_ARTICLE") je souhaiterai que cette
procédure me retourne le code de mon article ayant pour ID 8

PROCEDURE Info_Article(ida est un entier, champ)

sdArticles est une Source de Données
sRes est une chaîne = ""

HAlias(ARTICLES, sdArticles)
HChangeNom(sdArticles, "ARTICLES")

POUR TOUT sdArticles AVEC ID_ARTICLE = ida
sRes = sdArticles.champ
FIN

HAnnuleAlias(sdArticles)

RENVOYER sRes


D'avance merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
tjfromparis
Le #20501841
Les indirections ! (suis accros à ca moi ^^)

l'appel ne change pas par contre dans la procédure tu encadre ta
variable avec "{" et "}" (donc {champ} )
ca marche avec n'importe quoi ca : des noms de champs, de fenêtres,
etc...


appel de la procédure :
Info_Article(8, "CODE_ARTICLE") => pareil

PROCEDURE Info_Article(ida est un entier, champ)

sdArticles est une Source de Données
sRes est une chaîne = ""

HAlias(ARTICLES, sdArticles)
HChangeNom(sdArticles, {champ})

POUR TOUT sdArticles AVEC ID_ARTICLE = ida
sRes = {"sdArticles."+champ} => cette ligne sera peut etre à
revoir
FIN

HAnnuleAlias(sdArticles)

RENVOYER sRes
Dams
Le #20502091
Po Po Po !!!!

C'est top ça merci !
TT
Le #20509601
a écrit :
Les indirections ! (suis accros à ca moi ^^)

l'appel ne change pas par contre dans la procédure tu encadre ta
variable avec "{" et "}" (donc {champ} )
ca marche avec n'importe quoi ca : des noms de champs, de fenêtres,
etc...


appel de la procédure :
Info_Article(8, "CODE_ARTICLE") => pareil

PROCEDURE Info_Article(ida est un entier, champ)

sdArticles est une Source de Données
sRes est une chaîne = ""

HAlias(ARTICLES, sdArticles)
HChangeNom(sdArticles, {champ})

POUR TOUT sdArticles AVEC ID_ARTICLE = ida
sRes = {"sdArticles."+champ} => cette ligne sera peut etre à
revoir
FIN

HAnnuleAlias(sdArticles)

RENVOYER sRes


Pour améliorer les performances des indirections , il est conseillé de
qualifier le type d'élément utilisé pour que WD sache un peu où chercher:
{champ,indrubrique} dans ce cas ....
Dams
Le #20510031
Effectivement c'est ce que j'ai fait.

Voici ma procédure finale si ça peut aider :


PROCEDURE Info_Article(ida, champ)


sdArticles est une Source de Données
sRes est une chaîne = ""

SI ida > 0 ALORS

Sablier(Vrai)
HAlias(ARTICLES, sdArticles)
HChangeNom(sdArticles, "ARTICLES")

POUR TOUT sdArticles AVEC ID_ARTICLE = ida
sRes = {"sdArticles."+champ, indRubrique}
FIN

HAnnuleAlias(sdArticles)
Sablier(Faux)

FIN

RENVOYER sRes
Publicité
Poster une réponse
Anonyme