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

Le
Dams
Bonjour tous,

je bute sur une procdure que je souhaite utiliser pour rcuprer
uniquement la valeur d'une rubrique dans un fichier HyperFile qui
concerne une liste d'articles. Il me faut donc passer en paramtre
l'ID de mon article (a OK) mais aussi le nom du champ (ou rubrique).

Ci-dessous ma procdure qui en fonctionne pas cause du paramtre
champ que j'utilise pour passer le nom de la rubrique que je veux
rcuprer

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

PROCEDURE Info_Article(ida est un entier, champ)

sdArticles est une Source de Donnes
sRes est une chane = ""

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

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

HAnnuleAlias(sdArticles)

RENVOYER sRes


D'avance merci
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