【发布时间】:2017-03-23 16:36:29
【问题描述】:
我有一个带有许多选项卡和子表单的 MS Access 表单。我为禁用/启用所有子窗体上的所有控件的按钮编写了一些 VBA 代码。出于某种原因,如果您手动将其 Enabled 属性设置为 False,按钮不会像它们那样变灰。有谁知道如何使用 VBA 代码实现这一点?
谢谢!
下面是我使用的代码:
Private Sub Command137_Click()
Dim ctrlControl As Control
For Each ctrlControl In Me.Controls
On Error GoTo err:
If ctrlControl.ControlType = acTabCtl Or ctrlControl.Name = "Command9" Then
Else
ctrlControl.Enabled = False
End If
Continue:
Next
Exit Sub
err:
Debug.Print err.Description
Resume Continue
End Sub
【问题讨论】:
-
您如何启用/禁用它?我一直这样做,从未见过这个问题。
-
我刚刚添加了我在原始帖子中使用的 VBA 代码。谢谢!
-
查看是否所有控件都在循环中:
On Error GoTo err之前放入:Debug.Print ctrlControl.Name & vbCrLf以查看所有控件实际上都在迭代。 -
我调试过,都是迭代的。它们都没有落入错误陷阱。按钮的禁用实际上有效,但按钮不会变灰。是否有另一个属性可以控制它?我注意到当我手动更改按钮控件以禁用它时,它会变灰。
-
我不知道...此代码应该适用于一种形式的控件,主要形式,由
Me关键字引用。它不应该影响子表单上的控件。如何使用此代码禁用子表单上的按钮?