访问 - 如何将动态加载的无界子表单链接到主表单?

问题描述

访问和 vba 的新手。

我有一个绑定的主表单 (FormA),上面有一个组合框和两个未绑定的子表单(subfrmA 和 subfrmB)。 (两个表单都附加到一个表格中,但是我希望它们加载到我放置一个未绑定子表单作为占位符的主表单上)

组合框有两个值“a”和“b”。当 a 被选中时,我希望 subfrm A 加载到表单 A 上。当 b 被选中时,我希望 subfrmB 加载到表单 A 上。 - 到目前为止,我认为这部分工作

但是,当我在主表单上选择一条记录时,关联的子表单不会出现。当我尝试将子表单链接到主表单时,会出现一条错误消息,指出我无法在未绑定的表单之间建立链接。

packageID 是主表单和子表单之间的链接,snd 是所有表单上的隐藏字段。每当 packageID 自动更新时,子表单字段中的 psckageID 也会更新。

form design view

Case”A”                  
            Me.subfrmAB.SourceObject=“FormA
            Me.packageDetailsID=Me.subfrmAB.packageDetailsID
Case “B”

                                                              
            Me.subfrmAB.SourceObject=“FormB”
            Me.packageDetailsID=Me.subfrmAB.packageDetailsID

编辑:所以我最终做的是创建两个子表单 subfrmA(表单 A)和 subfrmB(表单 B)。然后我通过主链接和子链接链接到父表单。

根据用户在主窗体的组合框中选择的内容,我使一个子窗体可见,另一个不可见。

除了 Form B 无法加载外,其他一切都运行良好,但容器已加载。我尝试单独加载表单 B 它仍然无法加载。我也删除了 subfrmA 并且 Form B 仍然无法加载。

这是我编辑的代码:

    Select Case Me.Authorization.Text
        Case “A”
              Me.subfrmA.Visible = True
              Me.subfrmB.Visible = False
              Me.subfrmA.SourceObject = “Form.A”
        Case “B”
              Me.subfrmB.Visible = True
              Me.subfrmA.Visible = False
              Me.subfrmB.SourceObject = “Form.B”
    End Select

唯一行不通的是 Me.subfrmB.SourceObject="Form.B" 并且确实有一些东西阻止了表单的加载。我为 Form A 和 Form B 编写了相同的代码,但无法弄清楚 Form B 有什么问题阻止了它的加载。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)