[Access] Exécution commande dans une variable

Sergio63 Messages postés 53 Statut Membre -  
blux Messages postés 27993 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

La fonction "Eval" permet d'exécuter une commande contenue dans une variable.

Par exemple pour ouvrir le formulaire "Form1" :

Dim mycmd as String
mycmd = "DoCmd.OpenForm ('Form1')"
Eval (mycmd)

Cela fonctionne en effet parfaitement bien, mais lorsque j'essaie de l'utiliser pour modifier les propriétés d'un contrôle cela ne marche pas.

Mon code est le suivant :
Dim mycmd as String
mycmd = "Forms!Form1.B_Modif.caption = ""Modification"""
Eval (mycmd)

Je ne rencontre pas de problème à la compilation, ni à l'exécution mais ma commande est complètement inopérante.

Quelqu'un a t-il une idée ?

NB : En fait la commande que je cherche à créer est plus complexe car je souhaite rendre paramétrable le nom du contrôle afin d'éviter d'écrire une centaine de fois la même commande.

Merci

Sergio
A voir également:

1 réponse

zenon Messages postés 729 Statut Membre 180
 
As-tu essayé simplement:

Forms!Form1.B_Modif.caption = "Modification"

?
0
Sergio63 Messages postés 53 Statut Membre 24
 
Bien sûr que ça marche comme ça, mais le problème, c'est que je dois l'écrire une centaine de fois !

C'est la raison pour laquelle j'aimerais construire ma commande dans une variable avec des données que je lis dans une table (par exemple code département dans la table = "63", nom du contrôle correspondant : "C63"), puis demander l'exécution de la commande.

Comme ça une seule ligne de code et puis si je rajoute des enregistrements dans ma table, pas besoin de modifier le code !

Sergio
0
Sergio63 Messages postés 53 Statut Membre 24
 
Bonjour,

Je reprend l'application que j'avais mis de coté depuis quelques temps et je n'ai toujours pas trouvé la solution à mon problème.

Je me permet de remonter le post pour relancer ma question.

Merci

Cordialement

Sergio
0
blux Messages postés 27993 Date d'inscription   Statut Modérateur Dernière intervention   3 367
 
Salut,

as-tu essayé :
variable = "C63"
Forms("Form1")(variable).caption = "toto"
0