Wie kann ein Verweis-Felder in einem Access-Formular mit einer variable?
Ich habe 20 Textboxen in einer Access 2010-Formular genannt [P101] zu [P110] bezieht sich auf die Felder [P101] zu [P110] in der Quell-Tabelle. Das kann einen Wert enthalten oder nicht, aber wenn ich nicht wollen, Sie zu sehen. Ich habe auch ein Feld [UsedFields] in der Tabelle, das hat gezählt, wie viele der Felder sind im Einsatz. In Form_Current kann ich den folgenden code, aber gibt es eine Möglichkeit, ich könnte eine FOR NEXT-Schleife zu verwenden, eine variable für den Namen des Feldes?
Der aktuelle code (der funktioniert, ist aber sehr ungeschickt) ist:
If UsedFields > 0 then
P101.Visible = True
Else
P101.Visible = False
End If
If UsedFields > 1 then
P102.Visible = True
Else
P102.Visible = False
End If
.
.
.
.
If UsedFields > 9 then
P110.Visible = True
Else
P110.Visible = False
End If
Als die Anzahl der Felder steigt von 10 auf 100 würde ich gerne eine variable für die TextBox-Namen, so etwas wie:
Private Sub Form_Current()
Dim Ctrl As Control
Dim CtrlName As String
Dim Counter As Long
For Counter = 1 To 10
CtrlName = "P" & Counter
Set Ctrl = CtrlName
If Counter > Me.UsedFields Then
Ctrl.Visible = False
Else
Ctrl.Visible = True
End If
End Sub
Ist ein solcher Verweis möglich?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Ihre string-Variablen verweisen auf ein Element in der form
Controls
Sammlung.BTW, können Sie eine einzelne Zeile an die Stelle der
If
block, wenn das Sinn macht.