Page 1 sur 1
Retourner la valeur d'une propriete d'une classe

Publié:
20 Nov 2009 à 13:31
par RagDam
Bonjour,
Ayant créé ma classe, j'aimerai récupérer la valeur d'une propriété dont le nom est calculé.
Je stocke le nom d'une propriété de ma classe dans une variable NameField.
Et j'aimerai faire l'équivalent de
Values = Me.Namefield
J'ai essayé Execute("Values = Me." + Namefield), mais l'utilisation du Me. le gène..
Si vous avez des idées je suis preneur.
Merci

Publié:
20 Nov 2009 à 14:15
par Dominux
Le plus simple ne serait-il pas de faire une fonction publique dans ta classe à qui tu passes NameField et qui de renvoit ce que tu veux ?!

Publié:
20 Nov 2009 à 14:23
par RagDam
La classe me gere une 100taine de champs.
Ce que j'aurais éviter c'est justement de faire comme tu dis une fonction genre, vu que les propriétés de ma classe ont le même nom que mes champs des documents que je traite:
function GetValues(NameField as string) as string
select case NameField
case "nom1"
GetValues = Me.Nom1
case "nom2"
GetValues = Me.Nom2
case "nom2"
GetValues = Me.Nom2
case ...
...
case "nom100"
GetValues = Me.Nom100
end select
end function

Publié:
08 Déc 2009 à 11:54
par d.bugger
Private NameField List As Variant
puis
If IsElement(Me.NameField(toto)) Then
Values= Me.NameField(toto)
Else
Values= ""
End If

Publié:
16 Déc 2009 à 14:56
par stloje
le "Me" est utile uniquement pour différencier les variables (propriétés) propres à la classe de celles fournies via les paramètres de fonctions.
Ex. :
- Code : Tout sélectionner
public MyClass as Class
private var1 as string
private var2 as integer
sub New (var1 as string, var2 as integer)
'le Me permet de faire la différence entre la variable de la classe
'et celle provenant du paramètre
Me.var1 = var1
Me.var2 = var2
end sub
end Class