VB 6 - Spécifier Type composant pour formulaire "voulu". [Résolu]

Signaler
Messages postés
9
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
17 mars 2008
-
Messages postés
918
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
27 octobre 2008
-
Euhm... désolé 

J'avais une question, il y a très peu de temps, mais je me retrouve avec un autre problème.
J'ai un formulaire passé en paramètre dans une procédire.

Je voudrais controler les composants (textbox, labels...) du formulaire passé en paramètre en connaissant leur nom (je les ai stockés dans ma base de données).

donc en gros, j'ai ceci.

MonformulairePasséEnParamètre . MonComposantDepuisBaseDeDonnees . Propriete = ValeurBaseDepuisDonnees

Le formulaire pointe bien vers celui désiré, le composant (comme c'est le nom du composant que je vais chercher depuis ma base de données) n'est pas reconnu en tant que "composant souhaité du formulaire souhaité". Ce n'est pas le bon type. Je ne sais pas comment le faire passer en tant que tel.

Avec SET ? et DIM en tant que "type composant" voulu ?...

J'ai du mal...

Merci d'avance.

4 réponses

Messages postés
918
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
27 octobre 2008
10
Pour illustrer ce que propose NHenry et comme je suppose que tu as le nom de al propriété dans une string aussi, voici une boucle sur la liste des controles d'un formulaire et un appel à CallByname pour modifier la valeur d'une de ces propriété a patir du nom de la propriété

Dim C As Control

For Each C In LaForm.Controls
If C.Name = Nomducontrole Then
CallByName(C, NomDeLaPropriété, Valeur, vbSet) ' J'ai un doute sur le dernier param, voir l'aide en ligne sur CallByName()
Exit For
End If
Next
Messages postés
14785
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 avril 2021
154
Bonjour

Parcours la collection Controls pour récupérer le composant désiré à partir de son nom.

si ce n'est pas la bonne réponse,; peux-tu poster la partie de ton code qui pose pb stp .

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
9
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
17 mars 2008

Merci Kristof_Koder, c'est quelque chose dans ce bout là qu'il me faut.

J'ai bien cherché dans l'aide.
J'allais encore demander quelque chose car je rencontrai une erreur, mais il semble qu'en utilisant "vbLet" en propriété, ça fonctionne... (pour les labels pour le moment). Je continue avec cette solution.

Merci de votre aide :) C'est sympa.
Messages postés
918
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
27 octobre 2008
10
Effectivement, vbLet plutot que vbSet (qui sera à utiliser si la propriété accepte une valeur de type objet)