是否可以为特定记录禁用/启用访问子表单中的控件?访问 2000 - VBA

Posted

技术标签:

【中文标题】是否可以为特定记录禁用/启用访问子表单中的控件?访问 2000 - VBA【英文标题】:Is it possible to disable/enable controls in an Access Subform for a specific record? Access 2000 - VBA 【发布时间】:2015-06-11 09:06:51 【问题描述】:

正如标题所说,我正在尝试根据特定记录的组合框值禁用该特定记录的某些控件。因此,当用户在其组合框中选择 A 时,X 将被启用,但如果他们在组合框中按 B,则 X 将被禁用。现在的问题是子表单中的所有字段/控件都是链接的。因此,如果用户在第一条记录中按 A,则所有字段 X 都将启用,如果他们在第二条记录中按 B,则所有 X 字段都将被禁用(也是第一个)。

是否可以只禁用一个特定的记录字段(按下组合框的那个)。

我现在在我的 VBA 中拥有的是:

Public Sub SoortOnderdeelTekst_Click()


    Select Case SoortOnderdeelTekst.Value

      Case "Kozijnen", "Deuren", "Ramen", "Platen"

        Me.BreedteTekst.Enabled = True
        Me.BreedteTekst.SetFocus
        Me.Lengte.Enabled = False

      Case "Glaslijsten", "Zetwerk", "Onderdelen"

        Me.Lengte.Enabled = True
        Me.Lengte.SetFocus
        Me.BreedteTekst.Enabled = False

   End Select

End Sub

一张更清晰的图片:

【问题讨论】:

【参考方案1】:

您可以使用条件格式来实现这一点,有一个Enabled 属性。

在设计视图中打开表单,选择您希望有条件地禁用的控件,然后在功能区上转到格式 -> 条件格式,在规则设置中它是右下角的小图标。

在我看来,要么直接编写条件,要么在视图后面创建一个返回 TRUE/FALSE 的字段,这样更易​​于管理。

【讨论】:

像魅力一样工作!谢谢!

以上是关于是否可以为特定记录禁用/启用访问子表单中的控件?访问 2000 - VBA的主要内容,如果未能解决你的问题,请参考以下文章

仅在特定表单控件 (TextBox) 上启用快捷菜单

禁用/启用特定的静态文本控件?

禁用控件后在 Access VBA 中显示禁用的控件

使用 jQuery 启用/禁用特定“验证组”中的 asp.net 验证控件?

在 wpf C# 中禁用自定义父项时启用子控件

是否可以使用 VueJS 和 BootstrapVue 禁用页面中的所有输入?