Toon posts:

[VBA] Hoe een variable voor textfieldnaam gebruiken?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Als volgt
Ik heb 15 textfields die allemaal met textfield beginnen en dan een cijfer
dus
textfield1, textfield2, textfield3 etc

Nou maak ik een recordset en wil ik de textfields vullen met deze waarde uit de recordset.
Ik dacht zelf om een teller mee te laten lopen, maar zoals ik het hieronder heb
krijg ik wel "Forms!formulier1.textfield1" via de MsgBox te zien, maar vult ie de waarde niet in het textfield in.

Ik heb deze code
code:
1
2
3
4
5
6
7
8
9
i = 1
Do While Not rst.EOF
    myTf = "Forms!formulier1.textfield" & i
    MsgBox myTf
    
    myTf = rst!club
    i = i + 1
rst.MoveNext
Loop



met
code:
1
myTf = Forms!formulier1.textfield & i

doet ie het ook niet

iemand een id?

  • Kuhlie
  • Registratie: December 2002
  • Niet online
Hiermee kom je er wel:

code:
1
2
3
4
5
6
Private Sub UserForm_Click()
Dim c As Object
For Each c In Controls
    MsgBox c.Name
Next
End Sub



Waarom jouw code niet werkte? Omdat er geen elementair verschil tussen:
code:
1
myTf = "Forms!formulier1.textfield" & i

en
code:
1
myTf = rst!club


zit. In het tweede geval wordt gewoon de inhoud van de recordset in de variabele gezet, VBA kan niet ruiken of je dan ineens een of andere textbox bedoelt.

[ Voor 10% gewijzigd door Kuhlie op 04-02-2004 23:26 . Reden: typfoutje en opmaakverbetering ]


Verwijderd

Topicstarter
Ik heb er dit van gemaakt
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
i = 1

Do While Not rst.EOF
    For Each ctrl In Controls
    
         If ctrl.Name = "textfield" & i Then
            ctrl.Value = rst!club
         End If
         
    Next
i = i + 1
rst.MoveNext
Loop


en daarmee is het gelukt
tnx :)