【问题标题】:How to set a new form to a subform within a subform? [accdb]如何将新表单设置为子表单中的子表单? [accdb]
【发布时间】:2019-02-01 10:13:13
【问题描述】:

因此,我已将我们的应用程序从“mbd”更改为“accdb”,并且某些声明无法按应有的方式工作。

这行代码适用于“mbd”文件,但不适用于“accdb”

Dim subformachart As Form
Set subformachart = Form![subChart].Form!subChartSpace.Form

地点:

  • form -> 是主窗体
  • subChart -> 是第一个子表单
  • subChartSpace -> 是第二个子表单

这是我在研究了一些文档后尝试过的,但它不起作用(文档也一直在谈论控件和其他属性,但从不谈论 .Form 属性)

Dim subformachart As Form
Set subformachart = Me!subChart.Form!subChartSpace.Form

This doesn't work.

另外,如果我只想访问

中的第一个子表单
Set subformachart = Me!subChart.Form

它工作得很好,但我找不到像 mbd 示例中那样访问第二个子表单的方法。

【问题讨论】:

    标签: vba forms ms-access subform


    【解决方案1】:

    也许你把subform control nameform name混用了,或者是代码范围的问题?

    我测试了以下星座:

    • 主窗体frmMain 包含一个名为subChart 的子窗体控件,其中包含一个名为frmSub 的窗体。
    • 子表单frmSub 包含一个名为subChartSpace 的子表单控件,其中包含一个名为frmSubSub 的表单。
    • 名为frmSubSub的子子窗体。

    以下代码,放在frmMain 上的按钮的onclick 过程中,执行良好:

    'Using Me:
    MsgBox Me.subChart.Form.subChartSpace.Form.Name
    
    'Using Form:
    MsgBox Form.subChart.Form.subChartSpace.Form.Name
    
    'Set the form in a local variable, using your syntax example:
    Dim subformachart As Form
    Set subformachart = Form![subChart].Form!subChartSpace.Form
    MsgBox subformachart.Name
    

    如果您从主窗体外部调用代码,比如说从标准模块调用,那么您必须首先使用forms 集合来引用主窗体:

    MsgBox Forms("frmMain").subChart.Form.subChartSpace.Form.Name
    

    我看不出您的问题有任何其他原因。

    【讨论】:

      猜你喜欢
      • 2018-02-25
      • 1970-01-01
      • 2022-01-02
      • 2014-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多