【问题标题】:Set up text boxes in MS Access form as array?将 MS Access 表单中的文本框设置为数组?
【发布时间】:2014-09-07 05:02:33
【问题描述】:

有没有办法将 Access 表单中的文本框设置为数组,以便在 VBA 循环中使用?

【问题讨论】:

  • 是的。 Me.Controls(someString & i)
  • 如果你有一个记录源,你可能会使用一个连续的表格。
  • 是的,这也可以,这取决于用例

标签: forms vba ms-access


【解决方案1】:

您可以访问控件并遍历它们。必须选择一个可迭代的命名方案。

Me.Controls("txt" & intloop)

【讨论】:

    【解决方案2】:

    我不同意 serakfalcon 的要求,因为它需要特定的命名模式来遍历文本框。正确的方法是查看控件类型。真的应该这样做:

    Dim ctl As Access.Control
    
    For Each ctl In Forms!MyForm.Controls
        If ctl.ControlType = acTextbox Then
             '...your code here.
        End If
    Next
    

    这不需要特定的命名架构(不是说这是一个坏主意,它不是),并且您确定该对象是您所期望的。

    【讨论】:

    • 我会更进一步,使用控件的.Tag 属性以及类型。这允许您保留控件的相关名称,而不是遵循某些迭代命名方案,然后选择要使用的控件子集,以防该类型的控件超出流程范围。
    猜你喜欢
    • 1970-01-01
    • 2010-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多