【问题标题】:How can I create command buttons with code in an Access form?如何在 Access 表单中使用代码创建命令按钮?
【发布时间】:2017-11-20 12:05:05
【问题描述】:

我想创建一个包含 50 个命令按钮的 Access 表单,并且我想遍历这些按钮。当然,手动创建按钮(使用功能区中的工具)不是解决方案。我想使用 vba 代码通过循环创建这些按钮。我该怎么做?

【问题讨论】:

  • 请添加有关您的问题的更多详细信息以及您迄今为止为解决问题所做的努力,以便人们可以更好地帮助您。阅读How do I ask a good question?
  • 如果按钮的数量始终为 50(即没有基于用户交互创建/删除按钮的逻辑),我会手动完成。是的,这很烦人并且需要时间,但是通过代码布局控件也可能很痛苦。动态控件的事件处理也很复杂。

标签: vba forms loops ms-access commandbutton


【解决方案1】:

要添加表单控件,您只需要 CreateControl(form.name, typeOfcontrol, ....)

所以,代码将类似于:

Sub Add50Forms()
Dim db As DAO.Database
Dim frm As Form
Dim newBt As Control
Dim i As Long, j As Long

Set frm = Application.Forms(1)

For i = 0 To 1
For j = 1 To 25
    Set newBt = CreateControl(frm.Name, acCommandButton, Left:=100 + 3000 * i, Top:=500 * j)
    Set newBt = Nothing
Next j
Next i

End Sub

为了简单起见,我提出了两个嵌套循环,但它可以用一个和一些用于 left:= 和 top:= 命名参数的花哨的表达式来实现。当然,您想为这些代码添加一些标题等等。控件的位置、大小和颜色也取决于您。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多