Accéder à un contrôle par son nom stocké dans une variable [Résolu]

bluheim 2 Messages postés mercredi 15 février 2006Date d'inscription 22 février 2006 Dernière intervention - 15 févr. 2006 à 17:55 - Dernière réponse : bluheim 2 Messages postés mercredi 15 février 2006Date d'inscription 22 février 2006 Dernière intervention
- 22 févr. 2006 à 11:08
Bonjour à tous !

Je désirerais accéder aux contrôles de mon formulaire par leur nom. Mais je veux que le nom des contrôles soit générés dynamiquement par mon code, afin d'automatiser le processus.

En d'autres termes, j'ai une liste de champs de texte dans un formulaire dont les noms sont Attribute1, Attribute2, Attribute3, etc...et je souhaiterais que mon code accède aux valeurs de ses champs.

Je sais comment accéder à la valeur de ces champs avec leur nom :

Me![Attribute1].Value
Me![Attribute2].Value
Me![Attribute3].Value
...

Mais je voudrais automatiser ce processus dans une boucle :


While (Index < 15)

' On stocke le nom du champ de texte dont on veut récupérer la valeur

FieldName = "Attribute" & Index

' On accéde à cette valeur

SQLAttribute = Me![FieldName].Value

Index = Index + 1

Wend

Comme vous vous en doutez, cette portion de code ne fonctionne pas puisque VB crois que je veux accéder au champs dont le nom est FieldName...alors qu'en réalité, FieldName est une variable qui contient le nom du champ à accéder. Quelle est la syntaxe exacte pour accéder à un contrôle quand son nom est stockée dans une variable et non pas saisi en dut dans le code ?

Merci d'avance,

Eric.
Afficher la suite 

2 réponses

cs_CanisLupus 3758 Messages postés mardi 23 septembre 2003Date d'inscription 13 mars 2006 Dernière intervention - 15 févr. 2006 à 20:00
+3
Utile
Salut, une tite piste :

1 form avec 1 textbox nommée "text1" et commandbutton (command1)

Sub Command1_Click()
dim FieldName as string
FieldName = "text1"
MsgBox Me(FieldName).Text
end sub

En tous cas, en vb6, ça fonctionne.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
Cette réponse vous a-t-elle aidé ?  
bluheim 2 Messages postés mercredi 15 février 2006Date d'inscription 22 février 2006 Dernière intervention - 22 févr. 2006 à 11:08
0
Utile
Merci beaucoup, c'est exactement ça, ça marche à la perfection !!!

Et désolé pour cette réponse tardive, je n'ai pas le net chez moi en ce moment. Encore merci !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.