Nom dynamique

[Résolu]
Signaler
Messages postés
4
Date d'inscription
mardi 25 juillet 2006
Statut
Membre
Dernière intervention
30 janvier 2007
-
Messages postés
4
Date d'inscription
mardi 25 juillet 2006
Statut
Membre
Dernière intervention
30 janvier 2007
-
Hello tout le monde...
Je suis assez débutant dans VB et je cerche le moyen de construire un nom dynamiquement. Je m'explique... j'utilise VB avec Access pour une base de donnée. Je dois mettre un grand nombre de champs à jour chaque fois que l'on ouvre un formulaire. Le nom de ces champs est du style toto_1, toto_2, toto_3 etc...

Donc ce que j'aimerais faire c'est inclure dans un boucle for la mis à jour de ces champs. Par exemple
For i =1 to 30
toto_'i' = blablabla
next i

Mais je n'y arrive pas :-(

Merci pour votre aide...

7 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
SAlut,
Ce que tu cherches à faire est impossible.

Tu peux essayer de passer par les indices.

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
4
Date d'inscription
mardi 25 juillet 2006
Statut
Membre
Dernière intervention
30 janvier 2007

Merci pour cette réponse rapide ... Même si ça ne résoud pas mon problème
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Si tu fais comme te suggère JRivet, ça devrait résoudre ton problème

For i = 1 to 30  ' 30 ou Rs.Fields.Count
    Rs.Fields(i) = TrouveLaValeurDuChamp (i)
Next

et tu crées un Function TrouveLaValeurDuChamp  qui te retourne la valeur à mettre à jour ou à ajouter pour ce champ i ...

MPi
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Je ne suis pas sur d'avoir compris...
Je t'invite toutefois à regarder dans ton aidxe en ligne sur :

Field Object


A tout hasard
Messages postés
4
Date d'inscription
mardi 25 juillet 2006
Statut
Membre
Dernière intervention
30 janvier 2007

En fait, toto_1, toto_2, toto_3, etc... sont des noms de champs qui se trouvnt sur un formulaire...
Pour l'instant, je fais :

toto_1 = xxxxx
toto_2 = xxxxx
toto_3 = xxxxx
etc...

Comme il y en a un certain nombre, je me demandais s'il était possible de mettre tout ça dans une boucle for par exemple...
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Je ne suis pas sur que le code suivant te conviennes mais teste le et adapte le à tes besoins.

Dim Ctrl As Control 
For i = 0 To 4 Step 2 
    For Each Ctrl In Me.Controls 
       If TypeOf Ctrl Is TextBox Then 
            If Ctrl.Name = "Texte" & i Then 
                Ctrl.SetFocus 
                Ctrl.Text = "Texte" & i 
            End If 
        End If 
    Next 
Next 

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
4
Date d'inscription
mardi 25 juillet 2006
Statut
Membre
Dernière intervention
30 janvier 2007

Je vais essayer... merci beaucoup