Bonjour,
J'ai besoin de d'évaluer dynamiquement le résultat d'une expression contenue dans une rubrique pour chaque enregistrements.
J'ai une Procédure CalculeSurface(nParam1,nParam2,nParam3, sExpression) ,va qui renvoie un résultat numérique au moyen de la fonction WL EvalueExpression()
sExpression peu ressembler à des petites formules algébriques simples comme x*y ou (x+y)*2
Dans mon exemple, l'expression est contenue dans la rubrique "Art_Composant_Surface" voici ma procédure et mon string SQL qui doit servir à remplir une table. +----------------------------------------------------------------------------------------------- PROCEDURE RemplirTableSynthèseMetréComposant( sParam_Art_Id est une chaîne) sdMaSourceDeDonnée est une Source de Données sStrSQL,sSsChaine est une chaîne sStrSQL = "SELECT "+ ... "Art_Composant.Art_Composant_Art_Id AS Art_Composant_Art_Id," + ..... "Art_Composant.Art_Composant_Surface AS Art_Composant_Surface "+... " '" + CalculeSurface(10,10,10, " Art_Composant_Surface" ) + "' AS Art_Test, " + ... "FROM Art_Composant WHERE Art_Composant.Art_Composant_Art_Id = '" + sParam_Art_Id +"'"
HExecuteRequeteSQL(.....
POUR TOUT .... TableAjoute ... FIN
+----------------------------------------------------------------------------------------------- Ma procédure CalculSurface() me renvoi bien une valeur si je passe des paramètre en dur, par exemple "(x+y)*2". Donc l'appel à une fonction perso fonctionne. Mais en pratique, je dois passer une valeur contenue dans une rubrique nommée "Art_Composant_Surface". La syntaxe avec les guillemets ne passe pas. Dans mon code SQL, comment puis-je faire référence à la rubrique " Art_Composant_Surface " à l'intérieur de l'appel à la procédure?
Le support me signal que ce type de traitement n'est pas possible.
Pourtant, avec l'éditeur de requête et avec des fonctions WL il est possible de passer le nom d'une rubrique. J'y arrive avec une fonction comme WL.Gauche("nom_de_la_rubrique) mais pas avec WL.EvalueExpression. Si cette dernière devait fonctionner, il me faut encore lui fournir les valeur de mes 3 paramètres.
J'ai déjà pu réaliser ce type de requête avec fonctions perso intégrées sous VBA il y a un bon moment.
Je n'imagine pas ne pas pouvoir trouver une solution sous WebDev. Peut être par une toute autre piste?
Je suis à votre écoute. Déjà, merci pour votre aide. |