MS Access - 创建一个通用的 Sub 来设置子窗体上控件的属性

MS Access - Creating a generic Sub to set Properties of controls on a Subform

我有一个可以从任何表单调用的通用 Sub,它将启用标签 属性 设置为 'EnableForReadOnly' 的所有文本框和组合框。我想为子表单创建类似的东西。

    Public Sub EnableReadOnlyControls(theForm)

Dim i As Integer
' Cycle through the form's controls,

For i = 0 To theForm.Count - 1
    If theForm(i).Tag = "EnableForReadOnly" Then
        If TypeOf theForm(i) Is TextBox Then
            theForm(i).Locked = False
            theForm(i).Enabled = True
        ElseIf TypeOf theForm(i) Is ComboBox Then
            theForm(i).Locked = False
            theForm(i).Enabled = True
        End If
    End If
Next i

结束子

要从表单调用此 Sub,在表单的 OnOpen 事件中,我键入以下内容并且效果很好:

EnableReadOnlyControls Me

我想为子表单创建一个类似的通用子表单,但我不确定是否可以以这种通用方式引用子表单。任何想法将不胜感激。

我在这里重新发布安德烈的评论作为答案。谢谢安德烈!

“您可以简单地使用相同的函数。EnableReadOnlyControls Me.SubformControl.Form。或者您在子窗体的 Open 事件中进行的调用。”

示例:我的主窗体上的子窗体控件的名称是 frmCounterTopSub,所以我将这一行添加到我的代码中,它非常有效:

EnableReadOnlyControls Me.frmCounterTopSub.Form