Nom dynamique

Résolu
malindis Messages postés 4 Date d'inscription mardi 25 juillet 2006 Statut Membre Dernière intervention 30 janvier 2007 - 30 janv. 2007 à 10:57
malindis Messages postés 4 Date d'inscription mardi 25 juillet 2006 Statut Membre Dernière intervention 30 janvier 2007 - 30 janv. 2007 à 14:07
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

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
30 janv. 2007 à 11:26
SAlut,
Ce que tu cherches à faire est impossible.

Tu peux essayer de passer par les indices.

@+: Ju£i?n
Pensez: Réponse acceptée
3
malindis Messages postés 4 Date d'inscription mardi 25 juillet 2006 Statut Membre Dernière intervention 30 janvier 2007
30 janv. 2007 à 11:35
Merci pour cette réponse rapide ... Même si ça ne résoud pas mon problème
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
30 janv. 2007 à 12:03
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
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
30 janv. 2007 à 12:04
Je ne suis pas sur d'avoir compris...
Je t'invite toutefois à regarder dans ton aidxe en ligne sur :

Field Object


A tout hasard
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malindis Messages postés 4 Date d'inscription mardi 25 juillet 2006 Statut Membre Dernière intervention 30 janvier 2007
30 janv. 2007 à 12:11
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...
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
30 janv. 2007 à 13:45
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
0
malindis Messages postés 4 Date d'inscription mardi 25 juillet 2006 Statut Membre Dernière intervention 30 janvier 2007
30 janv. 2007 à 14:07
Je vais essayer... merci beaucoup
0
Rejoignez-nous