【问题标题】:Unable to disable all fields of a ms-access userform on load加载时无法禁用 ms-access 用户表单的所有字段
【发布时间】:2020-07-13 19:09:40
【问题描述】:

我的用户窗体上有很多控件,我想在加载时禁用所有控件,除了“登录按钮”和“Shift Date”文本框,所以我使用下面的代码:

Private Sub Form_Load()
Call GetValues
Me.WlcmLabel.Caption = "Hi " + GetUserName + " ! "

Dim ctrl As Control

For Each ctrl In Me.Controls
    ctrl.Enabled = False
Next
Me.ShiftDate.Enabled = True
Me.LoginBtn.Enabled = True
Set ctrl = Nothing
End Sub 

但这给了我一个加载错误,说“对象不支持这个属性或方法。”

用户点击登录按钮后,所有控件都会立即启用。

我的代码有什么错误?

请询问是否需要任何其他信息。 谢谢!

【问题讨论】:

    标签: ms-access vba ms-access-2010 userform


    【解决方案1】:

    尝试锁定控件。我使用了下面的locked 属性,但是我使用每个控件的tag 属性将其标识为可锁定的。因此,您不想锁定的控件将不会在 tag 属性中获得任何内容,因此不会锁定。对于您的应用程序,您可以翻转逻辑,因为您只想让两个控件保持解锁状态。

    For Each ctlCurr In Me.Controls
            If ctlCurr.Tag = "Lockable" Then
            ctlCurr.Locked = True
            End If
    Next
    

    【讨论】:

    • 你能展示你修改后的代码吗?我经常锁定这样的控件,您有问题吗?嗯...
    • 当然,这是我在加载事件中使用的代码,Dim ctlCurr As Control For Each ctlCurr In Me.Controls If ctlCurr.Tag = "Lockable" Then ctlCurr.Locked = True End If Next Me.ShiftDate.Enabled = True Me.LoginBtn.Enabled = True
    • 您是否将除 LoginBtn 和 ShiftDate 之外的所有控件的 Tag 属性设置为 Locked?
    • 好的,我知道了,我现在可以工作了。但是我仍然可以在 txtbox 内单击,但是它不允许用户输入。但我想让用户注意到这些字段被禁用,他们只能单击一个按钮和一个 txtbox,如果我只是将“ctlCurr.Locked = True”替换为“ctlCurr.Enabled=True”呢?
    • 是的,这应该可以,除非我认为您希望启用 = False。我刚试过,禁用的控件是灰色的,不允许用户进入该字段。
    【解决方案2】:

    您无法禁用标签控制,这就是该错误出现的原因。您必须检查控件的类型。

     For Each ctrl In Me.Controls
        With ctrl
         a = TypeName(ctrl)
        Select Case .ControlType
    
            Case acLabel
    
            Case acEmptyCell
    
            Case Else
                ctrl.Enabled = False
        End Select
        End With
    
    
     Next ctrl
    

    仅当它不是标签时才应用禁用。

    【讨论】:

    • 感谢您对此的澄清,它没有给出任何错误,但也没有禁用任何东西。怎么办?
    • @shivchhabra 我已经编辑了上面的答案。检查上面的代码并告诉我它是否不起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-28
    • 2020-02-06
    • 2012-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多