加载时禁用访问表单控件

Posted

技术标签:

【中文标题】加载时禁用访问表单控件【英文标题】:Disable Controls on Access Forms on Load 【发布时间】:2021-06-28 13:28:51 【问题描述】:

我正在尝试创建一个表单,允许我控制输入数据的人员的访问权限。这个想法是在表单加载时禁用所有控件,当它们选择不同的主题时,将相应地选择各种字段。我知道如何逐个字段地执行此操作的长期方法,但我希望分批执行此操作,但我尝试的一切都失败了。

这是我目前拥有的

Dim control As control
Dim formName As String
Dim fieldName As String
Dim fieldParse As String


strFormName = "frm_Outfalls_Profile_Events"
For Each control In Forms(strFormName)
fieldName = control.Name
fieldParse = Left(fieldName, 5)
If fieldParse = "event" Then
    Me.fieldName.Enabled = False
End If
Next

【问题讨论】:

试试control.Enabled = False @FunThomas 这是我尝试过的事情之一,但在下拉菜单中启用不是功能之一,它会出错。我得到运行时错误“438”对象不支持此属性或方法 【参考方案1】:

您的代码的简化版本,它暂停错误以避免Enabled 属性不存在的情况。

On Error Resume Next
For Each ctl In Forms.frm_Outfalls_Profile_Events.Controls
    ctl.Enabled = Not Left(ctl.Name, 5) = "event"
Next ctl
On Error GoTo 0

【讨论】:

效果很好。谢谢你。我想我在案例没有启用属性的部分被挂断了 很高兴听到。请记住,如果您在同一个表单上运行它,您可以将 Forms.frm_Outfalls_Profile_Events 替换为 Me

以上是关于加载时禁用访问表单控件的主要内容,如果未能解决你的问题,请参考以下文章

C# 使用表单加载其他用户控件并访问基本控件或属性

Angular 2 - 自定义表单控件 - 禁用

动态禁用控件时显示警告消息 angular2

启用/禁用表单控件触发 valueChanges Angular 2 Forms

如何禁用表单上除按钮之外的所有控件?

来自 FormGroup 的禁用控件(表单自定义表单控件的一部分)被父级中的 .getRawValue() 排除