【问题标题】: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”对象不支持此属性或方法

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


【解决方案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
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-13
  • 2013-07-04
  • 1970-01-01
  • 2014-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多