禁用控件后,灰色输出已禁用Access VBA中的控件

时间:2017-03-23 16:36:30

标签: ms-access access-vba

我有一个包含许多标签和子表单的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

2 个答案:

答案 0 :(得分:1)

我也遇到了同样的问题。但是,我想出了一种解决方法。

首先在模块中定义一些公共变量:

var user = userPlanPair.user;
user.Plan = userPlanPair.plan;

然后在您的Form_Load()子项中

Option Explicit
Public greyout, white As Long

然后在文本/组合框中使用.enable时,执行此操作

Public Sub Form_Load()
    'color RGB definition
    greyout = RGB(210, 210, 210)
    white = RGB(255, 255, 255)
End Sub

希望有帮助

答案 1 :(得分:0)

您正在搜索错误的controlType。使用' acCommandButton'不是' acTabCtrl'。 (我添加了一个ELSE以启用其他所有内容)

IF ctrlControl.ControlType = acCommandButton THEN
   ctrControl.enabled = false
ELSE
   ctrControl.enabled = true
END IF