[EVAL] utiliser la valeur d'une variable à partir de son nom
Bonjour,
Je lance des traitements par l'intermédiaire d'une fonction qui se fonde sur une table de paramètres pour savoir ce qu'elle doit lancer et dans quel ordre.
Elle reçoit parfois un nom de variable en paramètre mais elle doit utiliser la valeur de cette variable dans les traitements qu'elle lance et non le nom.
Malheureusement, je n'arrive pas à obtenir cette valeur.
J'ai bien essayé avec la fonction EVAL, mais rien à faire elle refuse d'utiliser la variable.
Savez-vous s'il existe un moyen d'obtenir ce que je souhaite ?
Un peu de code étant parfois plus clair q'un long discours, voici un exemple :
partie du code d'export de données dans Excel à partir de requête paramétrées. (paramètre passé : vstrType<V>Perte<P>vdtmTrait<V>gdtmDTRAIT<E>, gdtmDTRAIT est une variable globale de la base lançant le code exemple)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| Set qry = db.QueryDefs(strSource)
' On renseigne les paramètres les uns après les autres
vrtPRM_lst = Split(strPRM, "<P>")
For intcpt = 0 To UBound(vrtPRM_lst)
blnEval = False
If InStr(vrtPRM_lst(intcpt), "<E>") Then
vrtPRM_lst(intcpt) = Replace(vrtPRM_lst(intcpt), "<E>", "")
blnEval = True
End If
vrtPRM = Split(vrtPRM_lst(intcpt), "<V>")
strPRM_name = vrtPRM(0)
If blnEval = True Then
vrtPRM_value = Eval(vrtPRM(1)) '-- C'est là où ça foire
Else
vrtPRM_value = vrtPRM(1)
End If
qry.Parameters(strPRM_name) = vrtPRM_value
Next intcpt
Set rstData = qry.OpenRecordset |
Voici le message d'erreur que j'obtiens :
http://www.developpez.net/forums/F:\...rreur Eval.bmp
Merci d'avance pour votre aide.