【发布时间】:2013-12-09 17:39:57
【问题描述】:
我在一个名为 [P101] 到 [P110] 的 Access 2010 表单上有 20 个文本框,它引用源表中的字段 [P101] 到 [P110]。可能包含或不包含值,但如果不是,我不想看到它们。我在表中还有一个字段 [UsedFields],它计算了正在使用的字段数量。在 Form_Current 中,我可以设置以下代码,但有没有办法可以设置 FOR NEXT 循环以使用字段名称的变量? 当前代码(有效但非常笨拙)是:
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
由于字段数设置为从 10 增加到 100,我想使用一个变量来保存 TextBox 名称,例如:
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
这样的参考可能吗?
【问题讨论】:
标签: ms-access ms-access-2007 vba ms-access-2010